Back to Clickhouse

2025 Changelog

docs/changelogs/v25.11.3.54-stable.md

26.4.1.1-new17.3 KB
Original Source

2025 Changelog

ClickHouse release v25.11.3.54-stable (2199c84bef3) FIXME as compared to v25.11.2.24-stable (d4877847359)

Improvement

  • Backported in #91411: Enable the setting allow_statistics_optimize by default, so the JOINs optimizer will use column statistics. #89332 (Alexey Milovidov).
  • Backported in #92303: Allow implicit type conversion when casting Array to QBit. Integer and float arrays can now be inserted directly into QBit columns without explicit type casts. #91846 (Raufs Dunamalijevs).

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

  • Backported in #92038: Fix GenerateRandom engine crash on non-literal parameters: return BAD_ARGUMENTS with a clear message instead of LOGICAL_ERROR. #88157 (Shafi Ahmed).
  • Backported in #92189: Fix removing unused projection columns in the presence of UNION. Fixes #88180. #88350 (Sema Checherinda).
  • Backported in #92263: Fixed several issues caused by premature column removal in TTL. Resolves #88002. #88860 (Amos Bird).
  • Backported in #92415: Fix Bad get error that happened during Set index analysis in case the predicate contained NULL constant. Fixes #84856 and #82974. #89429 (Nikolai Kochetov).
  • Backported in #91876: Fixes a bug where toDateTimeOrNull of a negative argument returns NULL. #90490 (Yarik Briukhovetskyi).
  • Backported in #91723: Fix type-casting errors when using LowCardinality columns in partition keys. Closes #89412. #90666 (xiaohuanlin).
  • Backported in #91760: Fix access validation for ALTER UPDATE queries when a remote table function is used with localhost as a target host. #90761 (pufit).
  • Backported in #91329: 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 #91298: Fix buffer allocation for base58Decode function. #90909 (Antonio Andelic).
  • Backported in #91504: Fixes SummingMergeTree aggregation for Nested LowCardinality columns. #90927 (Ivan Babrou).
  • Backported in #91771: 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 #91694: Fix reading dynamic subcolumns from materialized columns in mutations. Closes #90653. #91040 (Pavel Kruglov).
  • Backported in #92084: Fix logical error in ARRAY JOIN when one of the table columns is empty tuple column. Closes #90801. #91123 (Nihal Z. Miaji).
  • Backported in #91351: Fix lazy materialization of a column added via alter add column in old parts. #91142 (Pavel Kruglov).
  • Backported in #91320: Fix possible inconsistent dynamic structure during writing in compact parts that could lead to segfault. #91152 (Pavel Kruglov).
  • Backported in #91406: Fix inserting into CoalescingMergeTree column with Tuple of JSON/Dynamic and LowCardinality. Closes #91215. #91270 (Pavel Kruglov).
  • Backported in #91342: Fix SYSTEM DROP FILESYSTEM CACHE ON CLUSTER. #91304 (Anton Ivashkin).
  • Backported in #92279: Fix possible logical error "Bad cast from type DB::ColumnSparse to DB::ColumnNullable". Closes #91284. #91309 (Pavel Kruglov).
  • Backported in #91550: Fix a crash when maliciously crafted byte streams deserialize into nested QBit types, which should be impossible but could be exploited to crash the server. #91313 (Raufs Dunamalijevs).
  • Backported in #91541: Fix Alias table with empty args in Replicated database. Resolved #91378. #91382 (Kai Zhu).
  • Backported in #91566: 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 #91445: Remove Sparse columns from header in merge algorithms. Closes #91377. #91396 (Pavel Kruglov).
  • Backported in #91487: Fix hive partitioning bug in 25.8 which can lead to incorrectly thrown exception A hive partitioned file can't contain only partition columns. #91403 (Kseniia Sumarokova).
  • Backported in #92139: 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 #91624: Fixed QBit type failing with query parameters like SET param_q=[1,2,3,4]; SELECT {q:QBit(Float32,4)}. #91488 (Raufs Dunamalijevs).
  • Backported in #91803: Fix logical error caused by asterisks argument in remote function. Closes #90568. #91524 (Nihal Z. Miaji).
  • Backported in #91663: 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 #91809: Fixed L2DistanceTransposed returning incorrect results when using non-constant reference vectors (e.g., from a table). #91517. #91593 (Raufs Dunamalijevs).
  • Backported in #91867: Fix increased memory usage in join with "additional filter", close #91011. #91664 (Vladimir Cherkasov).
  • Backported in #91893: Fix delta lake setting delta_lake_snapshot_version which could give incorrect result when used with table engine (not table function) and value -1 (disabled) after snapshot version was used before that. Closes #87676. #91818 (Kseniia Sumarokova).
  • Backported in #91921: Fix LOGICAL_ERROR in RecursiveCTEChunkGenerator. #91827 (Pablo Marcos).
  • Backported in #92374: Fix numerous logical errors, overflow and functional bugs in midpoint function. Closes #91816. #92102 (Nihal Z. Miaji).
  • Backported in #92274: Fixes incorrect results that could appear when reading certain subcolumns (e.g., string size) with sparse encoding. #92156 (Pavel Kruglov).
  • Backported in #92338: Fix system.view_refreshes failing with error No macro 'replica' in config. #92203 (Michael Kolupaev).
  • Backported in #92246: Fix UDF replace in format. #92210 (Raúl Marín).
  • Backported in #92334: 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 #92367: Fix crash when reading both String data and .size subcolumn from Log engine. This fixes #89909. This contains some commits in #92290. #92341 (Amos Bird).
  • Backported in #92440: Fix logical error caused by using Nothing type in caseWithExpression function arguments . Closes #85354. #92351 (Nihal Z. Miaji).

Build/Testing/Packaging Improvement

NOT FOR CHANGELOG / INSIGNIFICANT