Back to Clickhouse

2026 Changelog

docs/changelogs/v25.12.3.21-stable.md

26.4.1.1-new6.2 KB
Original Source

2026 Changelog

ClickHouse release v25.12.3.21-stable (7c3f6575160) FIXME as compared to v25.12.2.54-stable (e06d8a2be22)

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

  • Backported in #93725: Fix dynamic subcolumns resolution in column aliases in analyzer. Previously dynamic subcolumn in column alias was wrapped in getSubcolumn and in some cases could be not resolved at all. Closes #91434. #92583 (Pavel Kruglov).
  • Backported in #93596: Fix possible hung on terminating background schedule pool (may lead to server hungs on shutdown). #93008 (Azat Khuzhin).
  • Backported in #93563: Fix crash when deserialising malformed groupConcat aggregate state with out-of-bounds offsets. #93028 (Raufs Dunamalijevs).
  • Backported in #93522: Fixed handling of empty array as a second argument in hasAllTokens and hasAnyTokens functions. #93328 (Anton Popov).
  • Backported in #93476: Fixed integer overflow vulnerability in groupConcat state deserialisation that could cause memory safety issues with crafted aggregate states. #93426 (Raufs Dunamalijevs).
  • Backported in #93520: Fixed text index analysis on array columns when the index contains no tokens (all arrays are empty or all tokens are skipped by the tokenizer). #93457 (Anton Popov).
  • Backported in #93587: Fix extracting subcolumn during deserialization directly into Sparse columns. #93512 (Pavel Kruglov).
  • Backported in #93672: Make sure that zookeeper is finalized on shutdown (fix possible hung on shutdown in very unlikely cases). #93602 (Azat Khuzhin).
  • Backported in #93934: Fix LOGICAL_ERROR when restoring ReplicatedMergeTree with deduplication race. #93612 (Pablo Marcos).
  • Backported in #93927: Fix using Sparse column for TTL update during direct deserialization into Sparse columns in some input formats. It fixes possible logical error Unexpected type of result TTL column. #93619 (Pavel Kruglov).
  • Backported in #93734: Validate that the decompressed buffer size is as expected. #93690 (Raúl Marín).
  • Backported in #93802: Prevent users to get the list of columns from a table without checking SHOW COLUMNS permission using the merge table engine. #93695 (János Benjamin Antal).
  • Backported in #93764: Fixed materialization of skip indexes created on top of subcolumns. #93708 (Anton Popov).
  • Backported in #93825: We store storages' shared pointers in QueryPipeline::resources::storage_holders to make sure that the IStorage objects are not destroyed while PipelineExecutor is alive. #93746 (Miсhael Stetsyuk).
  • Backported in #93855: Fix logical error in a rare case when empty tuple is used with Map column. Closes #93784. #93814 (Nihal Z. Miaji).
  • Backported in #93918: Fix optimize_inverse_dictionary_lookup not working with distributed query when key is signed integral type. Closes #93259. #93848 (Nihal Z. Miaji).

NOT FOR CHANGELOG / INSIGNIFICANT