# ClickHouse: what changed from 25 to 26 - Product: ClickHouse (https://whatsnew.fyi/product/clickhouse) - Vendor: ClickHouse - Range: changelog entries numbered after v25.8.33.6-lts up to and including v26.8.2.7-lts, stable releases only - Entries below: 33 releases (newest first) - Resolved: 25 is v25.8.33.6-lts and 26 is v26.8.2.7-lts, the newest stable release of each major we track - Carrying security changes: 6 · CVEs mentioned: 0 · Mentioning breaking changes: 0 · Removing or deprecating something: 0 - Page: https://whatsnew.fyi/product/clickhouse/compare/25...26 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (173 changes, grouped by kind) ### Added #### v26.8.2.7-lts (2026-09-01) — summarized from commit messages - Support for max_rows_to_group_by in throw mode in the Adaptive Aggregator #### v26.7.6.57-stable (2026-09-01) — summarized from commit messages - Added setting text_index_version for better forward compatibility. #### v26.7.4.58-stable (2026-08-19) — summarized from commit messages - Compatibility setting to qualify column names as the old analyzer did with multiple joins - Inference of omitted Distributed and Buffer structure under the user's context #### v26.3.17.110-lts (2026-08-05) — summarized from commit messages - Added support for additional storage classes in S3. #### v26.7.2.59-stable (2026-08-03) — summarized from commit messages - Setting `analyzer_compatibility_apply_final_to_all_joined_tables` for compatibility control. #### v26.5.6.64-stable (2026-07-23) — summarized from commit messages - Added `aiEmbed` function. - Added support for `S3` `external_id` in backup. - Added setting to use blob endpoint instead of dfs. - Added `use_fast_decoder` and `dictionary_as_low_cardinality` to ORC schema cache key. ### Changed #### v26.3.29.7-lts (2026-09-02) — summarized from commit messages - Hide legacy storage_* credential settings of DataLakeCatalog. #### v26.3.28.5-lts (2026-09-01) — summarized from commit messages - Clamp a SETTINGS clause nested in a subquery, a CTE, or a view to the settings constraints. - formatDateTime now caches resolved time zones locally. #### v26.8.2.7-lts (2026-09-01) — summarized from commit messages - GROUP BY without aggregate functions to inline per-row emplace for improved performance - SETTINGS clause nested in a subquery, a CTE, or a view are now clamped to settings constraints #### v26.7.6.57-stable (2026-09-01) — summarized from commit messages - Improved Dashboard Webpage and enhanced AI functions to use per-query quotas instead of per-block quotas. #### v26.3.27.3-lts (2026-08-31) — summarized from commit messages - Test adapted to use JOIN ... USING instead of NATURAL JOIN for 26.3. #### v26.3.22.7-lts (2026-08-25) — summarized from commit messages - Objects' paths are now included in deduplication hashing. - Dashboard webpage improved. #### v26.3.18.32-lts (2026-08-17) — summarized from commit messages - Bumped simdjson from v4.2.4 to v4.6.5, google-protobuf to v35.1, grpc to v1.83.0, arrow to 25.0.0, orc to 2.3.1, xsimd to 14.2.0, and vendored libexpat from 2.8.1 to 2.8.2. #### v26.5.6.113-stable (2026-08-04) — summarized from commit messages - Pre-warm async insert dedup hashes before partition loop to fix O(P×N) recomputation. #### v26.7.2.59-stable (2026-08-03) — summarized from commit messages - Marked the ZXC codec as experimental. #### v26.5.6.64-stable (2026-07-23) — summarized from commit messages - Restored prefetch for small files read from object storage. - Changed to use try-lock in LRUFileCachePriority::tryIncreasePriority. - Split remote database and data lake visibility settings. - Enforce access control for MySQL COM_FIELD_LIST and COM_INIT_DB. ### Fixed #### v26.3.30.9-lts (2026-09-04) — summarized from commit messages - Fixed parallel_view_processing setting being ignored for materialized view fan-out. - Fixed crash in predicate pushdown with a UNION subquery in a JOIN ON clause. - Fixed wrong results from sumKahanIf and sumKahan over Nullable types when the aggregated batch does not start at row 0. - Fixed memory leaks of abandoned nested states in the -ForEach and -Map aggregate combinators. - Fixed validation of JSON/Object shared-data bucket count read from a stream. - Fixed validation of skip_degree when reading a uniq aggregate state. - Fixed overflow check when allocating a block of aggregate function states. #### v26.3.29.7-lts (2026-09-02) — summarized from commit messages - Crashes of the Parquet, ORC and Iceberg readers on malformed input. - Wrong window function results for float PARTITION BY keys with several threads. - Crash of a window function over a Tuple with a sparse element. - ZooKeeper finalization to complete before logging exceptions. - allow_feature_tier for MergeTree settings. #### v26.3.28.5-lts (2026-09-01) — summarized from commit messages - fs cache download wait timeout. - Fix removePartAndCoveredParts outcome for existing part removal. #### v26.8.2.7-lts (2026-09-01) — summarized from commit messages - bloom_filter index skipping granules for IN with an empty array in the set - Iceberg reads when the metadata file is deeper than the queried table path - formatDateTime time zone resolution performance through local caching #### v26.7.6.57-stable (2026-09-01) — summarized from commit messages - Fixed std::out_of_range when a space-filling curve is not a key column, out-of-bounds read in formatRowNoNewline with empty rows, and out-of-bounds issues in text index posting list deserialization. - Fixed read_rows/read_bytes/written_rows/written_bytes statistics in system.query_thread_log. - Fixed KeeperMap metadata compatibility with redundant parentheses and canonicalize KeeperMap primary key metadata writes. - Fixed unkillable hang when dropping a low-sorting-name TimeSeries table and segfault in expandOrderByAll for a Merge child query. - Fixed crashes in Parquet, ORC, and Iceberg readers on malformed input and segfault in showCertificate when TLS certificates are provisioned by ACME. - Fixed window function issues including wrong results for float PARTITION BY keys with several threads and crashes over Tuple with sparse elements. #### v26.6.4.55-stable (2026-09-01) — summarized from commit messages - Use-after-free on a sparse join key in a direct dictionary join (also in v26.3.22.7-lts, summarized from commit messages) - Serialization of Map-valued settings in access entities (also in v26.7.5.10-stable, summarized from commit messages) - Distributed index analysis with projections producing wrong results (also in v26.3.20.7-lts, summarized from commit messages) - Out-of-bounds write in text index front-coding deserialization (also in v26.3.22.7-lts, summarized from commit messages) - CREATE OR REPLACE MATERIALIZED VIEW ... POPULATE losing the source subscription - Trivial count optimization incorrectly applied when the aggregate argument contains arrayJoin (also in v26.7.5.10-stable, summarized from commit messages) - Out-of-bounds read in formatRowNoNewline with empty rows (also in v26.3.22.7-lts, summarized from commit messages) - Out-of-bounds memory exposure in query results - Various parsing and schema reader recursion depth limits and PostgreSQL startup message size bounds - Multiple query execution and data handling issues including KeeperMap metadata compatibility, row policies bypassing, LowCardinality search, aggregate function deserialization, Variant discriminator validation, ZooKeeper multi requests, and distributed query planning #### v26.3.27.3-lts (2026-08-31) — summarized from commit messages - Segfault in expandOrderByAll for a Merge child query. - Memory allocation from sizes declared by peers in the Native protocol. #### v26.3.26.3-lts (2026-08-30) — summarized from commit messages - Bounded recursion in several parsers and schema readers to prevent stack overflow. - Hidden aws_external_id in DataLakeCatalog SHOW CREATE DATABASE output. #### v26.3.24.4-lts (2026-08-27) — summarized from commit messages - Fixed a segfault in showCertificate when TLS certificates are provisioned by ACME. - Bounded the size of the PostgreSQL startup message. - Bounded text index posting list deserialization. #### v26.3.23.7-lts (2026-08-26) — summarized from commit messages - Fixed propagation of settings in accurateCastOrDefault. - Fixed finding a LowCardinality needle equal to the type's default value. - Fixed uninitialized memory exposure in query results. - Fixed an unkillable hang when dropping a low-sorting-name TimeSeries table. - Fixed SET = DEFAULT to respect settings constraints. - Added validation of aggregate function states on deserialization. #### v26.3.22.7-lts (2026-08-25) — summarized from commit messages - Row policies are now correctly applied in the mergeTreeIndex table function. #### v26.3.21.7-lts (2026-08-22) — summarized from commit messages - Fixed nullptr dereference in CREATE TABLE TO INNER UUID without ENGINE. - Fixed serialization of Map-valued settings in access entities. - Fixed CREATE OR REPLACE MATERIALIZED VIEW ... POPULATE losing the source subscription. - Fixed trivial count optimization being applied when the aggregate argument contains arrayJoin. - Fixed stripping of injective functions that hide argument nullability inside uniq. #### v26.7.5.10-stable (2026-08-21) — summarized from commit messages - Text index out-of-bounds write in front-coding deserialization. - Data race when tracing profile events. - Serialization of Nullable(Tuple) as a single CSV field. - Prepared sets registration before expanding ALIAS columns of Merge child tables. - Stripping of injective functions that hide argument nullability inside uniq. - Propagation of settings in accurateCastOrDefault. - LowCardinality needle lookup equal to the type's default value. #### v26.3.20.7-lts (2026-08-20) — summarized from commit messages - Hang when dropping a Refreshable Materialized View during refresh planning. - Hive partitioning sample path resolution to be lazy. - Parent table row policy enforcement in mergeTreeProjection table function. - singleValueOrNull null-state merge. #### v26.6.3.62-stable (2026-08-19) — summarized from commit messages - Fixed `type_json_allow_duplicated_key_with_literal_and_nested_object` not working with typed paths in JSON. - Fixed data race on `MemoryReservation` release at query finish. - Fixed JOIN USING identifier resolution from aliases nested in the SELECT list. - Fixed data race on FileCacheQueryLimit::query_map causing LOGICAL_ERROR. - Fixed use-after-free in async insert queue due to deadline collision. - Fixed `Field::operator<=` comparing a `Float64` with itself. - Fixed block structure check for aggregate-state columns nested in containers and out-of-bounds read in SerializationReplicated on the native protocol. - Fixed bad cast in KeyCondition for nested CAST that re-introduces LowCardinality. - Fixed wrong value for a virtual column on the right side of direct JOIN and virtual row not being applied in some cases. - Fixed multiple issues including out-of-bounds read in Parquet reader, Kafka table attachment, JSON subcolumn skip-index matching, Paimon table reading with nullable ARRAY or MAP columns, and `ORDER BY ... LIMIT` returning too few rows under a row policy. #### v26.5.7.64-stable (2026-08-19) — summarized from commit messages - Segfault in StreamingStorageRegistry, largestTriangleThreeBuckets aggregate function, and due to bad shutdown ordering on startup exception. - RESTORE failing with SYNTAX_ERROR on backups that include MASKING POLICY dependents. - Virtual row with union produces wrong result and virtual row not being applied in some cases. - IS NULL after metadata-only T to Nullable(T) ALTER with optimize_functions_to_subcolumns. - type_json_allow_duplicated_key_with_literal_and_nested_object not working with typed paths in JSON. (also in v26.3.18.32-lts, summarized from commit messages) - JOIN USING identifier resolution from aliases nested in the SELECT list. (also in v26.7.3.19-stable, summarized from commit messages) - Invalid number of rows in Chunk in JoiningTransform with additional join filter. - Misreporting of datalake catalog errors as missing tables and out-of-bounds write reading a Parquet DECIMAL wider than declared. - Deduplication token attribution for materialized-view targets of partitioned tables, use-after-free in async insert queue due to deadline collision, and Field::operator<= comparing a Float64 with itself. - Out-of-bounds read in SerializationReplicated on the native protocol, wrong value for a virtual column on the right side of direct JOIN, and quadratic JSON subcolumn skip-index matching over a large dotted constant. #### v26.7.4.58-stable (2026-08-19) — summarized from commit messages - Bad cast in KeyCondition for nested CAST that re-introduces LowCardinality - Map bucket_indexes stream going out of sync when rows are skipped - made_current_at showing 1970-01-01 in system.iceberg_history after expire_snapshots - made_current_at for repeated snapshot-id in system.iceberg_history - Wrong value for virtual column on the right side of direct JOIN - Out-of-bounds read in SerializationReplicated on the native protocol (also in v26.3.18.32-lts, summarized from commit messages) - Iceberg OPTIMIZE rejecting multi-row position delete snapshots - Multiple issues including use-after-free in sparse join keys, wrong hash join results on LowCardinality wide-integer keys, quadratic JSON subcolumn skip-index matching, incorrect ORDER BY LIMIT results under row policy, and wrong results of trivial GROUP BY LIMIT optimization #### v26.3.19.3-lts (2026-08-18) — summarized from commit messages - Fsync restored part files on RESTORE to survive power loss. #### v26.3.18.32-lts (2026-08-17) — summarized from commit messages - Segfault in StreamingStorageRegistry. - Segfault due to bad shutdown ordering on startup exception. (also in v26.6.2.158-stable, summarized from commit messages) - Startup and ATTACH of a view with a recursive CTE with the old analyzer. (also in v26.7.3.19-stable, summarized from commit messages) - Use-after-free in async insert queue due to deadline collision. (also in v26.7.3.19-stable, summarized from commit messages) - Dynamic cache resize race condition. - ATTACH of Kafka tables with a large kafka_num_consumers. - LOGICAL_ERROR crash in IcebergMetadata::iterate when datalake_table_state is missing. - ORDER BY ... LIMIT returning too few rows under a row policy. #### v26.7.3.19-stable (2026-08-06) — summarized from commit messages - Misreporting of datalake catalog errors as missing tables. - Paimon DLF request signing exposed by error propagation. - Out-of-bounds write reading a Parquet DECIMAL wider than declared. - Deduplication token attribution for materialized-view targets of partitioned tables. - Crash in direct JOIN over MergeTree with PREWHERE caused by shared PrewhereInfo corrupted by column pruning. - Field::operator<= comparing a Float64 with itself. - Block structure check for aggregate-state columns nested in containers. #### v26.3.17.110-lts (2026-08-05) — summarized from commit messages - Fixed dangling pointer in HashJoin::shrinkStoredBlocksToFit, out-of-bounds segfault in groupArrayLastMerge, segfault in largestTriangleThreeBuckets aggregate function, bug in levenshteinDistanceWeighted function, and rollup with materialized and virtual columns. - Fixed infinite rollup. - Fixed text-index direct-read double-registration over Merge/Distributed. - Fixed LOGICAL_ERROR on DROP COLUMN with ALIAS column using IN and UNKNOWN_IDENTIFIER on ALTER TABLE DROP COLUMN with aliased default expression. - Fixed async-insert deduplication token bleed across partitions. - Fixed segfault and silent data corruption when appending a non-appendable format to a file, out-of-bounds crash in ObjectStorageQueueSource::FileIterator::next, reading from an encrypted disk with O_DIRECT, data loss when a merge races ALTER RENAME COLUMN, and out-of-bounds write reading a Parquet DECIMAL wider than declared. #### v26.6.2.158-stable (2026-08-04) — summarized from commit messages - Virtual row with union produces wrong result. - Rollup with materialized and virtual columns. - Block structure mismatch in UnionStep/IntersectOrExceptStep when a branch constant-folds. - Infinite rollup. - Text-index direct-read double-registration over Merge/Distributed. - Use-after-free when using Iceberg tables in combination with temporary tables. (also in v26.5.6.113-stable, summarized from commit messages) - Text index on mapValues/mapKeys not used through a Distributed engine table. - Hive partition validation when compatibility is 26.6. - Bad cast for a qualified asterisk over a JOIN USING key nested under a PASTE/CROSS join, LOGICAL_ERROR on DROP COLUMN with ALIAS column using IN, AMBIGUOUS_COLUMN_NAME when a JOIN ON condition is repeated in WHERE, NOT_FOUND_COLUMN_IN_BLOCK on FINAL when the sort key filter is moved to PREWHERE, TYPE_MISMATCH in direct dictionary join with a Nullable or LowCardinality key, and data loss when a merge races ALTER RENAME COLUMN. - Async-insert deduplication token bleed across partitions, crash in ProtobufRowInputFormat when a valid row precedes a bad row, mutations with query parameters in IN PARTITION, peer certificate leak in Poco SecureSocketImpl::verifyPeerCertificateImpl, CREATE OR REPLACE of a dictionary with an object of another kind, missing variant_discr stream for Dynamic columns after mutation, OOB when deserializing bad aggregate function states, IS NULL after metadata-only T to Nullable(T) ALTER with optimize_functions_to_subcolumns, reading Parquet Tuple column as Nullable(Tuple), Paimon background refresh crash on concurrent LATEST hint rewrite, overflow while parsing in system.zookeeper_info, and Invalid number of rows in Chunk in JoiningTransform with additional join filter. #### v26.5.6.113-stable (2026-08-04) — summarized from commit messages - Memory usage growth in filesystem cache and per-segment and per-key memory usage. - Bug with `data_kind = Preprocessed` failing the whole async batch. - Text index incorrectly used for has/mapContainsKey/mapContainsValue with an empty needle. (also in v26.7.2.59-stable, summarized from commit messages) - Multiple issues in Iceberg table handling including primitive type string comparison with whitespace and format version upgrade exceptions. - Column not found errors for lazy materialization, FINAL with filter and LIMIT, and ALTER TABLE DROP COLUMN with aliased default expressions. - CREATE OR REPLACE of a dictionary with an object of another kind and mutations with query parameters in IN PARTITION. - Data loss when a merge races ALTER RENAME COLUMN and various other data integrity issues including OOB deserialization and overflow in zookeeper_info parsing. #### v26.7.2.59-stable (2026-08-03) — summarized from commit messages - Performance regression in async insert deduplication by pre-warming hashes before partition loop. - CREATE OR REPLACE of a dictionary with an object of another kind. - StorageJoin handling in ANY-to-SEMI/ANTI join conversion. - Manifest compaction partition size. - Missing Content-Length header for Azure requests in the Poco HTTP transport. - Iceberg primitive type string comparison to ignore whitespace. - Multiple issues including column not found error with lazy materialization, primary key index analysis for reverse sorting, mutations with query parameters, peer certificate leak, macOS crash on fiber stacks, and direct dictionary join type mismatches. #### v26.5.6.64-stable (2026-07-23) — summarized from commit messages - Fixed Block structure mismatch in UnionStep on a Sparse-vs-full divergent branch, crash on deeply nested expressions with raised max_parser_depth, logical error casting Dynamic/Variant inside Tuple with accurateCastOrNull, runtime join filter producing wrong results for JSON columns, uniqExact concurrent-merge crash with GROUPING SETS/ROLLUP/CUBE, race between ALTER RENAME COLUMN and merge causing data loss, skip+unused_shards through Merge over Distributed in the analyzer, server crash on deduplicated async insert with optimize_on_insert, out-of-bounds segfault in groupArrayLastMerge, projection incorrectly reading a newly-added column as the type default instead of its DEFAULT value, heap-buffer-overflow when serializing a shared quantileTDigest state, query condition cache poisoning by on-fly mutations, and crash moving an empty part to a plain_rewritable disk. - Fixed reading Iceberg tables sorted on special-char column names. ### Security #### v26.7.6.57-stable (2026-09-01) — summarized from commit messages - Fixed uninitialized memory exposure in query results, validated aggregate function states on deserialization, and validated Variant discriminator in ColumnVariant arena deserialization. - Fixed row policy bypass in the mergeTreeIndex table function and enforced grant checks for ATTACH with URL engine definitions. #### v26.3.21.7-lts (2026-08-22) — summarized from commit messages - Validated Iceberg metadata file path for null bytes. #### v26.3.20.7-lts (2026-08-20) — summarized from commit messages - Bump libssh to 0.12.0. #### v26.3.17.110-lts (2026-08-05) — summarized from commit messages - Added path validation in delta lake. - Masked session_token and Google ADC secrets in the explicit-url S3 form. #### v26.5.6.113-stable (2026-08-04) — summarized from commit messages - Peer certificate leak in Poco `SecureSocketImpl::verifyPeerCertificateImpl` and masked session_token and Google ADC secrets in explicit-url S3 forms. #### v26.5.6.64-stable (2026-07-23) — summarized from commit messages - Fixed krb5 CVE-2026-40355 and CVE-2026-40356. _8 releases carry no categorized changes yet: v26.8.1.2041-lts, v26.3.25.2-lts, v26.6.2.160-stable, v26.7.1.1315-stable, v26.4.5.143-stable, v26.6.2.81-stable, v26.3.17.56-lts, v26.5.5.8-stable._ ## Release notes ### v26.3.30.9-lts — Release v26.3.30.9-lts - Date: 2026-09-04 - Version: v26.3.30.9-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.30.9-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.30.9-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fixed parallel_view_processing setting being ignored for materialized view fan-out. - **fixed** — Fixed crash in predicate pushdown with a UNION subquery in a JOIN ON clause. - **fixed** — Fixed wrong results from sumKahanIf and sumKahan over Nullable types when the aggregated batch does not start at row 0. - **fixed** — Fixed memory leaks of abandoned nested states in the -ForEach and -Map aggregate combinators. - **fixed** — Fixed validation of JSON/Object shared-data bucket count read from a stream. - **fixed** — Fixed validation of skip_degree when reading a uniq aggregate state. - **fixed** — Fixed overflow check when allocating a block of aggregate function states. ### v26.3.29.7-lts — Release v26.3.29.7-lts - Date: 2026-09-02 - Version: v26.3.29.7-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.29.7-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.29.7-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Crashes of the Parquet, ORC and Iceberg readers on malformed input. - **fixed** — Wrong window function results for float PARTITION BY keys with several threads. - **fixed** — Crash of a window function over a Tuple with a sparse element. - **fixed** — ZooKeeper finalization to complete before logging exceptions. - **fixed** — allow_feature_tier for MergeTree settings. - **changed** — Hide legacy storage_* credential settings of DataLakeCatalog. ### v26.3.28.5-lts — Release v26.3.28.5-lts - Date: 2026-09-01 - Version: v26.3.28.5-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.28.5-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.28.5-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — fs cache download wait timeout. - **changed** — Clamp a SETTINGS clause nested in a subquery, a CTE, or a view to the settings constraints. - **changed** — formatDateTime now caches resolved time zones locally. - **fixed** — Fix removePartAndCoveredParts outcome for existing part removal. ### v26.8.2.7-lts — Release v26.8.2.7-lts - Date: 2026-09-01 - Version: v26.8.2.7-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.8.2.7-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.8.2.7-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — bloom_filter index skipping granules for IN with an empty array in the set - **fixed** — Iceberg reads when the metadata file is deeper than the queried table path - **fixed** — formatDateTime time zone resolution performance through local caching - **changed** — GROUP BY without aggregate functions to inline per-row emplace for improved performance - **added** — Support for max_rows_to_group_by in throw mode in the Adaptive Aggregator - **changed** — SETTINGS clause nested in a subquery, a CTE, or a view are now clamped to settings constraints ### v26.7.6.57-stable — Release v26.7.6.57-stable - Date: 2026-09-01 - Version: v26.7.6.57-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.7.6.57-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.7.6.57-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fixed std::out_of_range when a space-filling curve is not a key column, out-of-bounds read in formatRowNoNewline with empty rows, and out-of-bounds issues in text index posting list deserialization. - **fixed** — Fixed read_rows/read_bytes/written_rows/written_bytes statistics in system.query_thread_log. - **fixed** — Fixed KeeperMap metadata compatibility with redundant parentheses and canonicalize KeeperMap primary key metadata writes. - **fixed** — Fixed unkillable hang when dropping a low-sorting-name TimeSeries table and segfault in expandOrderByAll for a Merge child query. - **security** — Fixed uninitialized memory exposure in query results, validated aggregate function states on deserialization, and validated Variant discriminator in ColumnVariant arena deserialization. - **security** — Fixed row policy bypass in the mergeTreeIndex table function and enforced grant checks for ATTACH with URL engine definitions. - **fixed** — Fixed crashes in Parquet, ORC, and Iceberg readers on malformed input and segfault in showCertificate when TLS certificates are provisioned by ACME. - **fixed** — Fixed window function issues including wrong results for float PARTITION BY keys with several threads and crashes over Tuple with sparse elements. - **added** — Added setting text_index_version for better forward compatibility. - **changed** — Improved Dashboard Webpage and enhanced AI functions to use per-query quotas instead of per-block quotas. ### v26.6.4.55-stable — Release v26.6.4.55-stable - Date: 2026-09-01 - Version: v26.6.4.55-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.6.4.55-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.6.4.55-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Use-after-free on a sparse join key in a direct dictionary join - **fixed** — Serialization of Map-valued settings in access entities - **fixed** — Distributed index analysis with projections producing wrong results - **fixed** — Out-of-bounds write in text index front-coding deserialization - **fixed** — CREATE OR REPLACE MATERIALIZED VIEW ... POPULATE losing the source subscription - **fixed** — Trivial count optimization incorrectly applied when the aggregate argument contains arrayJoin - **fixed** — Out-of-bounds read in formatRowNoNewline with empty rows - **fixed** — Out-of-bounds memory exposure in query results - **fixed** — Various parsing and schema reader recursion depth limits and PostgreSQL startup message size bounds - **fixed** — Multiple query execution and data handling issues including KeeperMap metadata compatibility, row policies bypassing, LowCardinality search, aggregate function deserialization, Variant discriminator validation, ZooKeeper multi requests, and distributed query planning ### v26.3.27.3-lts — Release v26.3.27.3-lts - Date: 2026-08-31 - Version: v26.3.27.3-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.27.3-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.27.3-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Segfault in expandOrderByAll for a Merge child query. - **fixed** — Memory allocation from sizes declared by peers in the Native protocol. - **changed** — Test adapted to use JOIN ... USING instead of NATURAL JOIN for 26.3. ### v26.8.1.2041-lts — Release v26.8.1.2041-lts - Date: 2026-08-30 - Version: v26.8.1.2041-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.8.1.2041-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.8.1.2041-lts ### v26.3.26.3-lts — Release v26.3.26.3-lts - Date: 2026-08-30 - Version: v26.3.26.3-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.26.3-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.26.3-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Bounded recursion in several parsers and schema readers to prevent stack overflow. - **fixed** — Hidden aws_external_id in DataLakeCatalog SHOW CREATE DATABASE output. ### v26.3.25.2-lts — Release v26.3.25.2-lts - Date: 2026-08-28 - Version: v26.3.25.2-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.25.2-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.25.2-lts ### v26.3.24.4-lts — Release v26.3.24.4-lts - Date: 2026-08-27 - Version: v26.3.24.4-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.24.4-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.24.4-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fixed a segfault in showCertificate when TLS certificates are provisioned by ACME. - **fixed** — Bounded the size of the PostgreSQL startup message. - **fixed** — Bounded text index posting list deserialization. ### v26.3.23.7-lts — Release v26.3.23.7-lts - Date: 2026-08-26 - Version: v26.3.23.7-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.23.7-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.23.7-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fixed propagation of settings in accurateCastOrDefault. - **fixed** — Fixed finding a LowCardinality needle equal to the type's default value. - **fixed** — Fixed uninitialized memory exposure in query results. - **fixed** — Fixed an unkillable hang when dropping a low-sorting-name TimeSeries table. - **fixed** — Fixed SET = DEFAULT to respect settings constraints. - **fixed** — Added validation of aggregate function states on deserialization. ### v26.3.22.7-lts — Release v26.3.22.7-lts - Date: 2026-08-25 - Version: v26.3.22.7-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.22.7-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.22.7-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Use-after-free on a sparse join key in a direct dictionary join. - **fixed** — Out-of-bounds write in text index front-coding deserialization. - **fixed** — Out-of-bounds read in formatRowNoNewline with empty rows. - **fixed** — Row policies are now correctly applied in the mergeTreeIndex table function. - **changed** — Objects' paths are now included in deduplication hashing. - **changed** — Dashboard webpage improved. ### v26.3.21.7-lts — Release v26.3.21.7-lts - Date: 2026-08-22 - Version: v26.3.21.7-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.21.7-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.21.7-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fixed nullptr dereference in CREATE TABLE TO INNER UUID without ENGINE. - **fixed** — Fixed serialization of Map-valued settings in access entities. - **security** — Validated Iceberg metadata file path for null bytes. - **fixed** — Fixed CREATE OR REPLACE MATERIALIZED VIEW ... POPULATE losing the source subscription. - **fixed** — Fixed trivial count optimization being applied when the aggregate argument contains arrayJoin. - **fixed** — Fixed stripping of injective functions that hide argument nullability inside uniq. ### v26.7.5.10-stable — Release v26.7.5.10-stable - Date: 2026-08-21 - Version: v26.7.5.10-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.7.5.10-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.7.5.10-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Serialization of Map-valued settings in access entities. - **fixed** — Text index out-of-bounds write in front-coding deserialization. - **fixed** — Trivial count optimization incorrectly applied when the aggregate argument contains arrayJoin. - **fixed** — Data race when tracing profile events. - **fixed** — Serialization of Nullable(Tuple) as a single CSV field. - **fixed** — Prepared sets registration before expanding ALIAS columns of Merge child tables. - **fixed** — Stripping of injective functions that hide argument nullability inside uniq. - **fixed** — Propagation of settings in accurateCastOrDefault. - **fixed** — LowCardinality needle lookup equal to the type's default value. ### v26.3.20.7-lts — Release v26.3.20.7-lts - Date: 2026-08-20 - Version: v26.3.20.7-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.20.7-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.20.7-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Hang when dropping a Refreshable Materialized View during refresh planning. - **fixed** — Hive partitioning sample path resolution to be lazy. - **fixed** — Parent table row policy enforcement in mergeTreeProjection table function. - **fixed** — Distributed index analysis with projections producing wrong results. - **fixed** — singleValueOrNull null-state merge. - **security** — Bump libssh to 0.12.0. ### v26.6.3.62-stable — Release v26.6.3.62-stable - Date: 2026-08-19 - Version: v26.6.3.62-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.6.3.62-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.6.3.62-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fixed `type_json_allow_duplicated_key_with_literal_and_nested_object` not working with typed paths in JSON. - **fixed** — Fixed data race on `MemoryReservation` release at query finish. - **fixed** — Fixed JOIN USING identifier resolution from aliases nested in the SELECT list. - **fixed** — Fixed data race on FileCacheQueryLimit::query_map causing LOGICAL_ERROR. - **fixed** — Fixed use-after-free in async insert queue due to deadline collision. - **fixed** — Fixed `Field::operator<=` comparing a `Float64` with itself. - **fixed** — Fixed block structure check for aggregate-state columns nested in containers and out-of-bounds read in SerializationReplicated on the native protocol. - **fixed** — Fixed bad cast in KeyCondition for nested CAST that re-introduces LowCardinality. - **fixed** — Fixed wrong value for a virtual column on the right side of direct JOIN and virtual row not being applied in some cases. - **fixed** — Fixed multiple issues including out-of-bounds read in Parquet reader, Kafka table attachment, JSON subcolumn skip-index matching, Paimon table reading with nullable ARRAY or MAP columns, and `ORDER BY ... LIMIT` returning too few rows under a row policy. ### v26.5.7.64-stable — Release v26.5.7.64-stable - Date: 2026-08-19 - Version: v26.5.7.64-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.5.7.64-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.5.7.64-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Segfault in StreamingStorageRegistry, largestTriangleThreeBuckets aggregate function, and due to bad shutdown ordering on startup exception. - **fixed** — RESTORE failing with SYNTAX_ERROR on backups that include MASKING POLICY dependents. - **fixed** — Virtual row with union produces wrong result and virtual row not being applied in some cases. - **fixed** — IS NULL after metadata-only T to Nullable(T) ALTER with optimize_functions_to_subcolumns. - **fixed** — type_json_allow_duplicated_key_with_literal_and_nested_object not working with typed paths in JSON. - **fixed** — JOIN USING identifier resolution from aliases nested in the SELECT list. - **fixed** — Invalid number of rows in Chunk in JoiningTransform with additional join filter. - **fixed** — Misreporting of datalake catalog errors as missing tables and out-of-bounds write reading a Parquet DECIMAL wider than declared. - **fixed** — Deduplication token attribution for materialized-view targets of partitioned tables, use-after-free in async insert queue due to deadline collision, and Field::operator<= comparing a Float64 with itself. - **fixed** — Out-of-bounds read in SerializationReplicated on the native protocol, wrong value for a virtual column on the right side of direct JOIN, and quadratic JSON subcolumn skip-index matching over a large dotted constant. ### v26.7.4.58-stable — Release v26.7.4.58-stable - Date: 2026-08-19 - Version: v26.7.4.58-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.7.4.58-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.7.4.58-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Bad cast in KeyCondition for nested CAST that re-introduces LowCardinality - **fixed** — Map bucket_indexes stream going out of sync when rows are skipped - **fixed** — made_current_at showing 1970-01-01 in system.iceberg_history after expire_snapshots - **added** — Compatibility setting to qualify column names as the old analyzer did with multiple joins - **added** — Inference of omitted Distributed and Buffer structure under the user's context - **fixed** — made_current_at for repeated snapshot-id in system.iceberg_history - **fixed** — Wrong value for virtual column on the right side of direct JOIN - **fixed** — Out-of-bounds read in SerializationReplicated on the native protocol - **fixed** — Iceberg OPTIMIZE rejecting multi-row position delete snapshots - **fixed** — Multiple issues including use-after-free in sparse join keys, wrong hash join results on LowCardinality wide-integer keys, quadratic JSON subcolumn skip-index matching, incorrect ORDER BY LIMIT results under row policy, and wrong results of trivial GROUP BY LIMIT optimization ### v26.3.19.3-lts — Release v26.3.19.3-lts - Date: 2026-08-18 - Version: v26.3.19.3-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.19.3-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.19.3-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Fsync restored part files on RESTORE to survive power loss. ### v26.3.18.32-lts — Release v26.3.18.32-lts - Date: 2026-08-17 - Version: v26.3.18.32-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.18.32-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.18.32-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Segfault in StreamingStorageRegistry. - **fixed** — Segfault due to bad shutdown ordering on startup exception. - **fixed** — type_json_allow_duplicated_key_with_literal_and_nested_object not working with typed paths in JSON. - **fixed** — Startup and ATTACH of a view with a recursive CTE with the old analyzer. - **fixed** — Use-after-free in async insert queue due to deadline collision. - **fixed** — Out-of-bounds read in SerializationReplicated on the native protocol. - **fixed** — Dynamic cache resize race condition. - **fixed** — ATTACH of Kafka tables with a large kafka_num_consumers. - **fixed** — LOGICAL_ERROR crash in IcebergMetadata::iterate when datalake_table_state is missing. - **fixed** — ORDER BY ... LIMIT returning too few rows under a row policy. - **changed** — Bumped simdjson from v4.2.4 to v4.6.5, google-protobuf to v35.1, grpc to v1.83.0, arrow to 25.0.0, orc to 2.3.1, xsimd to 14.2.0, and vendored libexpat from 2.8.1 to 2.8.2. ### v26.7.3.19-stable — Release v26.7.3.19-stable - Date: 2026-08-06 - Version: v26.7.3.19-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.7.3.19-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.7.3.19-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Misreporting of datalake catalog errors as missing tables. - **fixed** — JOIN USING identifier resolution from aliases nested in the SELECT list. - **fixed** — Paimon DLF request signing exposed by error propagation. - **fixed** — Out-of-bounds write reading a Parquet DECIMAL wider than declared. - **fixed** — Deduplication token attribution for materialized-view targets of partitioned tables. - **fixed** — Startup and ATTACH of a view with a recursive CTE with the old analyzer. - **fixed** — Crash in direct JOIN over MergeTree with PREWHERE caused by shared PrewhereInfo corrupted by column pruning. - **fixed** — Use-after-free in async insert queue due to deadline collision. - **fixed** — Field::operator<= comparing a Float64 with itself. - **fixed** — Block structure check for aggregate-state columns nested in containers. ### v26.6.2.160-stable — Release v26.6.2.160-stable - Date: 2026-08-05 - Version: v26.6.2.160-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.6.2.160-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.6.2.160-stable ### v26.3.17.110-lts — Release v26.3.17.110-lts - Date: 2026-08-05 - Version: v26.3.17.110-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.17.110-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.17.110-lts - Labels: Machine-generated from commit messages — the vendor published no release notes - **security** — Added path validation in delta lake. - **fixed** — Fixed dangling pointer in HashJoin::shrinkStoredBlocksToFit, out-of-bounds segfault in groupArrayLastMerge, segfault in largestTriangleThreeBuckets aggregate function, bug in levenshteinDistanceWeighted function, and rollup with materialized and virtual columns. - **fixed** — Fixed infinite rollup. - **fixed** — Fixed text-index direct-read double-registration over Merge/Distributed. - **fixed** — Fixed LOGICAL_ERROR on DROP COLUMN with ALIAS column using IN and UNKNOWN_IDENTIFIER on ALTER TABLE DROP COLUMN with aliased default expression. - **fixed** — Fixed async-insert deduplication token bleed across partitions. - **security** — Masked session_token and Google ADC secrets in the explicit-url S3 form. - **fixed** — Fixed segfault and silent data corruption when appending a non-appendable format to a file, out-of-bounds crash in ObjectStorageQueueSource::FileIterator::next, reading from an encrypted disk with O_DIRECT, data loss when a merge races ALTER RENAME COLUMN, and out-of-bounds write reading a Parquet DECIMAL wider than declared. - **added** — Added support for additional storage classes in S3. ### v26.6.2.158-stable — Release v26.6.2.158-stable - Date: 2026-08-04 - Version: v26.6.2.158-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.6.2.158-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.6.2.158-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Virtual row with union produces wrong result. - **fixed** — Rollup with materialized and virtual columns. - **fixed** — Block structure mismatch in UnionStep/IntersectOrExceptStep when a branch constant-folds. - **fixed** — Infinite rollup. - **fixed** — Text-index direct-read double-registration over Merge/Distributed. - **fixed** — Segfault due to bad shutdown ordering on startup exception. - **fixed** — Use-after-free when using Iceberg tables in combination with temporary tables. - **fixed** — Text index on mapValues/mapKeys not used through a Distributed engine table. - **fixed** — Hive partition validation when compatibility is 26.6. - **fixed** — Bad cast for a qualified asterisk over a JOIN USING key nested under a PASTE/CROSS join, LOGICAL_ERROR on DROP COLUMN with ALIAS column using IN, AMBIGUOUS_COLUMN_NAME when a JOIN ON condition is repeated in WHERE, NOT_FOUND_COLUMN_IN_BLOCK on FINAL when the sort key filter is moved to PREWHERE, TYPE_MISMATCH in direct dictionary join with a Nullable or LowCardinality key, and data loss when a merge races ALTER RENAME COLUMN. - **fixed** — Async-insert deduplication token bleed across partitions, crash in ProtobufRowInputFormat when a valid row precedes a bad row, mutations with query parameters in IN PARTITION, peer certificate leak in Poco SecureSocketImpl::verifyPeerCertificateImpl, CREATE OR REPLACE of a dictionary with an object of another kind, missing variant_discr stream for Dynamic columns after mutation, OOB when deserializing bad aggregate function states, IS NULL after metadata-only T to Nullable(T) ALTER with optimize_functions_to_subcolumns, reading Parquet Tuple column as Nullable(Tuple), Paimon background refresh crash on concurrent LATEST hint rewrite, overflow while parsing in system.zookeeper_info, and Invalid number of rows in Chunk in JoiningTransform with additional join filter. ### v26.5.6.113-stable — Release v26.5.6.113-stable - Date: 2026-08-04 - Version: v26.5.6.113-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.5.6.113-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.5.6.113-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Memory usage growth in filesystem cache and per-segment and per-key memory usage. - **fixed** — Use-after-free when using Iceberg tables in combination with temporary tables. - **fixed** — Bug with `data_kind = Preprocessed` failing the whole async batch. - **changed** — Pre-warm async insert dedup hashes before partition loop to fix O(P×N) recomputation. - **fixed** — Text index incorrectly used for has/mapContainsKey/mapContainsValue with an empty needle. - **fixed** — Multiple issues in Iceberg table handling including primitive type string comparison with whitespace and format version upgrade exceptions. - **fixed** — Column not found errors for lazy materialization, FINAL with filter and LIMIT, and ALTER TABLE DROP COLUMN with aliased default expressions. - **fixed** — CREATE OR REPLACE of a dictionary with an object of another kind and mutations with query parameters in IN PARTITION. - **fixed** — Data loss when a merge races ALTER RENAME COLUMN and various other data integrity issues including OOB deserialization and overflow in zookeeper_info parsing. - **security** — Peer certificate leak in Poco `SecureSocketImpl::verifyPeerCertificateImpl` and masked session_token and Google ADC secrets in explicit-url S3 forms. ### v26.7.2.59-stable — Release v26.7.2.59-stable - Date: 2026-08-03 - Version: v26.7.2.59-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.7.2.59-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.7.2.59-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **fixed** — Performance regression in async insert deduplication by pre-warming hashes before partition loop. - **fixed** — CREATE OR REPLACE of a dictionary with an object of another kind. - **fixed** — StorageJoin handling in ANY-to-SEMI/ANTI join conversion. - **changed** — Marked the ZXC codec as experimental. - **fixed** — Manifest compaction partition size. - **fixed** — Text index incorrectly used for has/mapContainsKey/mapContainsValue with an empty needle. - **fixed** — Missing Content-Length header for Azure requests in the Poco HTTP transport. - **fixed** — Iceberg primitive type string comparison to ignore whitespace. - **fixed** — Multiple issues including column not found error with lazy materialization, primary key index analysis for reverse sorting, mutations with query parameters, peer certificate leak, macOS crash on fiber stacks, and direct dictionary join type mismatches. - **added** — Setting `analyzer_compatibility_apply_final_to_all_joined_tables` for compatibility control. ### v26.5.6.64-stable — Release v26.5.6.64-stable - Date: 2026-07-23 - Version: v26.5.6.64-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.5.6.64-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.5.6.64-stable - Labels: Machine-generated from commit messages — the vendor published no release notes - **added** — Added `aiEmbed` function. - **added** — Added support for `S3` `external_id` in backup. - **added** — Added setting to use blob endpoint instead of dfs. - **added** — Added `use_fast_decoder` and `dictionary_as_low_cardinality` to ORC schema cache key. - **changed** — Restored prefetch for small files read from object storage. - **changed** — Changed to use try-lock in LRUFileCachePriority::tryIncreasePriority. - **changed** — Split remote database and data lake visibility settings. - **changed** — Enforce access control for MySQL COM_FIELD_LIST and COM_INIT_DB. - **fixed** — Fixed Block structure mismatch in UnionStep on a Sparse-vs-full divergent branch, crash on deeply nested expressions with raised max_parser_depth, logical error casting Dynamic/Variant inside Tuple with accurateCastOrNull, runtime join filter producing wrong results for JSON columns, uniqExact concurrent-merge crash with GROUPING SETS/ROLLUP/CUBE, race between ALTER RENAME COLUMN and merge causing data loss, skip+unused_shards through Merge over Distributed in the analyzer, server crash on deduplicated async insert with optimize_on_insert, out-of-bounds segfault in groupArrayLastMerge, projection incorrectly reading a newly-added column as the type default instead of its DEFAULT value, heap-buffer-overflow when serializing a shared quantileTDigest state, query condition cache poisoning by on-fly mutations, and crash moving an empty part to a plain_rewritable disk. - **fixed** — Fixed reading Iceberg tables sorted on special-char column names. - **security** — Fixed krb5 CVE-2026-40355 and CVE-2026-40356. ### v26.7.1.1315-stable — Release v26.7.1.1315-stable - Date: 2026-07-22 - Version: v26.7.1.1315-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.7.1.1315-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.7.1.1315-stable ### v26.4.5.143-stable — Release v26.4.5.143-stable - Date: 2026-07-22 - Version: v26.4.5.143-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.4.5.143-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.4.5.143-stable ### v26.6.2.81-stable — Release v26.6.2.81-stable - Date: 2026-07-21 - Version: v26.6.2.81-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.6.2.81-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.6.2.81-stable ### v26.3.17.56-lts — Release v26.3.17.56-lts - Date: 2026-07-20 - Version: v26.3.17.56-lts - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.17.56-lts - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.3.17.56-lts ### v26.5.5.8-stable — Release v26.5.5.8-stable - Date: 2026-07-01 - Version: v26.5.5.8-stable - Original notes: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.5.5.8-stable - Permalink: https://whatsnew.fyi/product/clickhouse/releases/v26.5.5.8-stable