Back to Clickhouse

2025 Changelog

docs/changelogs/v25.6.3.116-stable.md

26.4.1.1-new17.0 KB
Original Source

2025 Changelog

ClickHouse release v25.6.3.116-stable (3c68d19c3b3) FIXME as compared to v25.6.2.5-stable (51a12888a03)

Performance Improvement

Improvement

  • Backported in #83207: Allow ALTER UPDATE in JSON and Dynamic columns. #82419 (Pavel Kruglov).
  • Backported in #83015: Keeper improvement: move changelog files between disk in a background thread. Previously, moving changelog to a different disk would block Keeper globally until the move is finished. This lead to performance degradation if moving is a long operation (e.g. to S3 disk). #82485 (Antonio Andelic).
  • Backported in #83205: SYSTEM RESTART REPLICA may fail due to ZooKeeper connection issues. To avoid forgetting about this table, we now retry until the table is created. #82616 (Nikolay Degterinsky).
  • Backported in #83270: Fix the wrong default value for the --reconnect option in clickhouse-benchmark. It was changed by mistake in #79465. #82677 (Alexey Milovidov).
  • Backported in #82928: Keeper improvement: support specific permissions for world:anyone ACL. #82755 (Antonio Andelic).
  • Backported in #83146: Add columns commit_time, commit_id to system.s3queue_log. #83016 (Kseniia Sumarokova).
  • Backported in #83184: Consolidate unknown settings warnings in clickhouse client and log them as a summary. #83042 (Bharat Nallan).
  • Backported in #83281: There was an incorrect dependency check for the INSERT with MVs that have malformed selects and the user might have received an obscure std::exception instead of a meaningful error with a clear explanation. This is now fixed. This fixes: #82889. #83190 (Nikita Mikhaylov).

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

  • Backported in #82781: Fix filter analysis when only a constant alias column is used in the query. Fixes #79448. #82037 (Dmitry Novik).
  • Backported in #83148: Fix DatabaseReplicated::getClusterImpl. If the first element (or elements) of hosts has id == DROPPED_MARK and there are no other elements for the same shard, the first element of shards will be an empty vector, leading to std::out_of_range. #82093 (Miсhael Stetsyuk).
  • Backported in #83211: Fix performance degradation in SummingMergeTree that was intorduced in 25.5 in https://github.com/ClickHouse/ClickHouse/pull/79051. #82130 (Pavel Kruglov).
  • Backported in #83217: Fix "Context has expired" for Iceberg. #82146 (Azat Khuzhin).
  • Backported in #82946: Fix data-races in client (by not using global context) and session_timezone overrides (previously in case of session_timezone was set in i.e. users.xml/client options to non empty and in query context to empty, then, value from users.xml was used, while this is wrong, now query context will always have a priority over global context). #82444 (Azat Khuzhin).
  • Backported in #82758: Fixes cases where parsing of Time could cause msan issues. This fixes: #82477. #82514 (Yarik Briukhovetskyi).
  • Backported in #82739: Setting use_skip_indexes_if_final_exact_mode implementation (introduced in 25.6) could fail to select a relevant candidate range depending upon MergeTree engine settings / data distribution. That has been resolved now. #82667 (Shankar Iyer).
  • Backported in #82737: Functions trim{Left,Right,Both} now support input strings of type "FixedString(N)". For example, SELECT trimBoth(toFixedString('abc', 3), 'ac') now works. #82691 (Robert Schulze).
  • Backported in #82915: In AzureBlobStorage, for native copy we compare authentication methods, during which if we get an exception, updated the code to fallback to read and copy (i.e. non native copy). #82693 (Smita Kulkarni).
  • Backported in #82802: Fix deserialization of groupArraySample/groupArrayLast in case of empty elements (deserialization could skip part of the binary if the input was empty, this can lead to corruption during data read and UNKNOWN_PACKET_FROM_SERVER in TCP protocol). This does not affect numbers and date time types. #82763 (Pedro Ferreira).
  • Backported in #83572: Fix backup of an empty Memory table, causing the backup restore to fail with with BACKUP_ENTRY_NOT_FOUND error. #82791 (Julia Kartseva).
  • Backported in #83114: Fix exception safety in union/intersect/except_default_mode rewrite. Closes #82664. #82820 (Alexey Milovidov).
  • Backported in #83263: Fix data races in Iceberg. #82841 (Azat Khuzhin).
  • Backported in #83224: Setting use_skip_indexes_if_final_exact_mode optimization (introduced in 25.6) could fail to select a relevant candidate range depending upon MergeTree engine settings / data distribution. That has been resolved now. #82879 (Shankar Iyer).
  • Backported in #83291: Set salt for auth data when parsing from AST with type SCRAM_SHA256_PASSWORD. #82888 (Tuan Pham Anh).
  • Backported in #82997: When using a non-caching Database implementation, the metadata of the corresponding table is deleted after the columns are returned and the reference is invalidated. #82939 (buyval01).
  • Backported in #83029: Fix filter modification for queries with a JOIN expression with a table with storage Merge. Fixes #82092. #82950 (Dmitry Novik).
  • Backported in #83313: Fix LOGICAL_ERROR in QueryMetricLog: Mutex cannot be NULL. #82979 (Pablo Marcos).
  • Backported in #83086: Fixed incorrect output of function formatDateTime when formatter %f is used together with variable-size formatters (e.g. %M). #83020 (Robert Schulze).
  • Backported in #83242: Fix performance degradation with the enabled analyzer when secondary queries always read all columns from the VIEWs. Fixes #81718. #83036 (Dmitry Novik).
  • Backported in #83175: Fix misleading error message when restoring a backup on a read-only disk. #83051 (Julia Kartseva).
  • Backported in #83201: Do not check for cyclic dependencies on create table with no dependencies. It fixes performance degradation of the use cases with creation of thousands of tables that was introduced in https://github.com/ClickHouse/ClickHouse/pull/65405. #83077 (Pavel Kruglov).
  • Backported in #83125: Fixes issue with implicit reading of negative Time values into the table and make the docs not confusing. #83091 (Yarik Briukhovetskyi).
  • Backported in #83279: After https://github.com/ClickHouse/ClickHouse/pull/79963 the usage of subcolumns in Materialized Views got broken and user might have received an error Not found column X in block. This behaviour is fixed. This fixes: #82784. #83221 (Nikita Mikhaylov).
  • Backported in #83346: Fix crash when calculating the size of a block with empty columns. #83271 (Raúl Marín).
  • Backported in #83475: Fix possible crash in Variant type in UNION. #83295 (Pavel Kruglov).
  • Backported in #83405: Fix no_sign_request for S3 client. It can be used to explicitly avoid signing S3 requests. It can also be defined for specific endpoints using endpoint-based settings. #83379 (Antonio Andelic).
  • Backported in #83552: Fixes a crash that may happen for a query with a setting 'max_threads=1' when executed under load with CPU scheduling enabled. #83387 (Fan Ziqi).
  • Backported in #83454: Fix TOO_DEEP_SUBQUERIES exception when CTE definition references another table expression with the same name. #83413 (Dmitry Novik).
  • Backported in #83575: Fix a bug introduced in https://github.com/ClickHouse/ClickHouse/pull/79963. When inserting into an MV with a definer, the permission check should use the definer's grants. This fixes #79951. #83502 (pufit).

Build/Testing/Packaging Improvement

NO CL CATEGORY

NOT FOR CHANGELOG / INSIGNIFICANT