Back to Clickhouse

2026 Changelog

docs/changelogs/v26.2.5.45-stable.md

26.4.1.1-new18.5 KB
Original Source

2026 Changelog

ClickHouse release v26.2.5.45-stable (9ca62f3f68f) FIXME as compared to v26.2.4.23-stable (94012846cb5)

Performance Improvement

  • Backported in #99052: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Allow read-in-order optimization and primary-key pruning when the CAST target type is Nullable and the conversion is monotonic; for example, with PRIMARY KEY x, ClickHouse can use read-in-order optimization for ORDER BY x::Nullable(UInt64) and can apply primary-key pruning for predicates such as WHERE x::Nullable(UInt64) > 500000. #98482 (Nihal Z. Miaji).

Improvement

  • Backported in #99057: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Support SAMPLE clause in distributed index analysis. #98931 (Azat Khuzhin).
  • Backported in #99378: Reduce memory usage and fix potential duplicate output in system.jemalloc_profile_text collapsed format. #99121 (Antonio Andelic).
  • Backported in #99785: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md):. #99232 (Xu Jia).
  • Backported in #99361: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Support text index built on mapValues(map) with IN operator. #99286 (Anton Popov).

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

  • Backported in #99072: Fixed DUPLICATE_COLUMN exception and silent NULLs when reading Delta Lake tables that use column mapping "name" mode with struct fields whose names contain dots (e.g. STRUCT<`a.foo`: STRING, `b.foo`: STRING>). #98013 (Caio Ishizaka Costa).
  • Backported in #98930: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): * Fix unexpected result with read_in_order_use_virtual_row and monotonic functions, close #97837. #98514 (Vladimir Cherkasov).
  • Backported in #99160: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Disallow dropping column when its subcolumns are used in other columns default/alias expressions and use analyzer for default expressions on alter drop column. #98569 (Nikita Mikhaylov).
  • Backported in #98840: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): All DB::Exception at PocoHTTPClient::makeRequestInternalImpl is not retryable, including HTTP_CONNECTION_LIMIT_REACHED. #98598 (Sema Checherinda).
  • Backported in #99876: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix optimize_skip_unused_shards optimization with the analyzer in case Distributed storage is used in a View. #98754 (Nikolai Kochetov).
  • Backported in #99094: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix tuple subcolumn access by name (e.g. SELECT x.a for Tuple(a UUID, b Int32)) for external tables passed via --external in clickhouse-client. Closes #96925. #98755 (Pavel Kruglov).
  • Backported in #99420: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix reverseUTF8 exception on invalid (truncated) UTF-8 input. #98770 (Alexey Milovidov).
  • Backported in #98838: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix detecting set skip index usefulness with OR with false (i.e. or(x, 0)) predicate. #98776 (Azat Khuzhin).
  • Backported in #98855: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix SYSTEM START REPLICATED VIEW not waking up the refresh task. #98797 (Pablo Marcos).
  • Backported in #98880: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix adjusting RLIMIT_SIGPENDING (via pending_signals). #98829 (Azat Khuzhin).
  • Backported in #99324: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix NOT_FOUND_COLUMN_IN_BLOCK for some queries with GROUP BY and expressions that include inverse dictionary lookup, Date/DateTime conversion comparisons, and tuple comparisons. Closes #98888. #98980 (Nihal Z. Miaji).
  • Backported in #99622: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixed Iceberg BigLake reads: ADC credentials are now forwarded to the GCS S3 client (fixing 403 errors), OAuth2 credentials are URL-encoded before sending (fixing auth failures for tokens with special characters), and namespace traversal no longer aborts on BigLake HTTP 400 responses. #98998 (Nikita Fomichev).
  • Backported in #99773: Fix server crash (std::terminate) when executing ALTER TABLE ... DROP PART on a patch part after a schema change (e.g. ADD COLUMN). The crash was caused by missing system columns (_part) in the empty coverage part metadata, leading to an uncaught exception inside a NOEXCEPT_SCOPE. #99036 (Peng Jian).
  • Backported in #99235: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): - ClickHouse server process could crash if there was a memory limit exceeded exception thrown during a cached disk read. That is now fixed. #99042 (Shankar Iyer).
  • Backported in #99447: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix segfault in recursive CTE with remote() + view(). #99081 (Konstantin Bogdanov).
  • Backported in #99189: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md):. #99084 (Vladimir Cherkasov).
  • Backported in #99303: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixed a crash triggered by a memory limit exception thrown during patch part application. #99086 (Anton Popov).
  • Backported in #99151: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixed rebuild of text indexes on merges with TTL. #99107 (Anton Popov).
  • Backported in #99764: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix crash in ALTER TABLE ... REMOVE SETTINGS query for Iceberg table engine. Fixes #86330. #99108 (alesapin).
  • Backported in #99218: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixes a bug in query_plan_convert_any_join_to_semi_or_anti_join optimization, returning an incorrect result for unmatched rows. Related: https://github.com/ClickHouse/ClickHouse/pull/95995. #99112 (Yarik Briukhovetskyi).
  • Backported in #99992: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix LOGICAL_ERROR due to patch parts column order mismatch. #99164 (Pablo Marcos).
  • Backported in #99294: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix max_execution_time not being applied for backup/restore. #99205 (Kseniia Sumarokova).
  • Backported in #99255: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): This patch fixes access checks during InverseDictionaryLookupPass; they are apparently visible in a flame graph. Instead, check access only once before running the optimization pass. #99210 (Mikhail Artemenko).
  • Backported in #99337: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Clamp settings constraints in DDL worker for distributed DDL queries. #99317 (Pablo Marcos).
  • Backported in #99734: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix CHECK TABLE with sparse serialization inside Tuple with Dynamic. Closes #96588. #99351 (Pavel Kruglov).
  • Backported in #99368: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixed too strict validation of text index preprocessor. #99359 (Anton Popov).
  • Backported in #99671: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix heap-use-after-free in INTERSECT/EXCEPT when the query produces duplicate column names. #99471 (Alexey Milovidov).
  • Backported in #99620: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixed NOT_FOUND_COLUMN_IN_BLOCK exception when a text index predicate (e.g. hasAllTokens) is referenced in both SELECT and WHERE clauses via an alias. #99504 (Anton Popov).
  • Backported in #99693: Fix incorrect results when using hasAllTokens with OR across columns that have separate text indexes. #99505 (Anton Popov).
  • Backported in #99969: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md):. #99587 (Dmitry Novik).
  • Backported in #99907: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fixed reading of text index in table with existing lightweight deletes and row policies. #99661 (Anton Popov).
  • Backported in #99848: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix nullptr dereference in Parquet reader when filter-in-decoder path encounters filtered-out pages. Closes #99676. #99677 (Alexey Milovidov).
  • Backported in #99956: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix incorrect seek in AsynchronousReadBufferFromFileDescriptor with O_DIRECT. Closes #99358. #99678 (Pavel Kruglov).
  • Backported in #99899: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix query:. #99739 (Konstantin Vedernikov).
  • Backported in #99890: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Fix crash (null pointer dereference) when executing ALTER TABLE ... MODIFY COLUMN ... COMMENT on Iceberg tables. #99838 (Desel72).

NOT FOR CHANGELOG / INSIGNIFICANT

  • Backported in #99338: Add compatibility setting functions_h3_default_if_invalid. #97821 (Michael Kolupaev).
  • Backported in #99591: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): Before https://github.com/ClickHouse/ClickHouse/pull/96070 cache disk was incorrectly copying the wrapped disk name. Because of that, it was necessary to write the destination disk name in DDLs to enable TTL moves to this disk. #98794 (Mikhail Artemenko).
  • Backported in #98890: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): select do not read with many buffers compact part in test integration/test_http_limits. #98869 (Sema Checherinda).
  • Backported in #99389: //github.com/ClickHouse/ClickHouse/blob/master/docs/changelog_entry_guidelines.md) of the changes that goes into CHANGELOG.md): ... #99339 (Kseniia Sumarokova).