ClickHouse 26.4 introduces improvements across query execution, indexing, SQL functionality, observability, and system stability.
This release includes:
- Changes to query semantics and type handling
- New SQL features and functions
- Enhancements to JSON and text indexing
- Improvements in join execution and data pruning
- Expanded observability and system metrics
- A large number of bug fixes and correctness improvements
This article provides a structured overview of the most relevant changes for production environments.
Breaking Changes
Strict Semantics for Bool in IN Operator
The IN operator now uses exact value semantics for the Bool type.
Previously, non-boolean numeric values could be implicitly treated as true. This behavior is no longer allowed.
Example:
SELECT CAST(1, 'Bool') IN (256)
Now returns:
0
Decimal Precision Enforcement in Composite Types
Lossy Decimal conversions inside composite types (Array, Tuple, Map) are now rejected.
Previously, precision checks were only applied to scalar values. This change ensures consistent behavior across all data structures.
H3 Library Upgrade
The H3 library has been upgraded to version 4.
- Improves precision for length, area, and related calculations
- Results may differ from previous versions
WITH Clause Identifier Restriction
Using SELECT as a bare identifier in a WITH clause is no longer allowed.
Behavioral and Configuration Changes
Changes to HTTP Limits
Default values for HTTP-related settings have been reduced:
http_max_fieldshttp_max_field_name_size
New settings introduced:
http_max_request_header_sizehttp_headers_read_timeout
These changes reduce memory usage during HTTP request handling.
Merge Table Virtual Columns Handling
Merge table behavior has changed:
_tableand_databasecolumns are read from storage if present- Otherwise, they are populated after the read step
New Features
Automatic Spill for Hash Joins
Hash joins and parallel hash joins now support automatic spilling.
- When memory limits are exceeded, execution switches to grace hash join
- Controlled by
max_bytes_before_external_join
Arrow Flight SQL Support
ClickHouse now supports Arrow Flight SQL for query execution and data exchange.
Incremental Reads for Paimon Tables
Paimon table engines now support incremental reads with snapshot tracking.
Includes:
- Snapshot-based progress tracking
- Targeted snapshot reads
JSON and Map Support in Dictionaries
Dictionaries now support complex types:
MapJSON- Nullable JSON types
JSON Indexing Enhancements
Skip indexes for JSON columns are now supported using JSONAllPaths.
Supported index types include:
bloom_filtertokenbf_v1ngrambf_v1text(inverted index)
Text Index Availability
The text index is now generally available and remains enabled regardless of compatibility settings.
New SQL Functions
New functions introduced include:
arrayAutocorrelation– computes normalized autocorrelation for arraysobfuscateQuery– masks sensitive parts of querieshighlight– wraps matched text with configurable tagsJSONAllValues– extracts all JSON values as an arrayarrayTranspose– transposes a 2D array
Query Language Enhancements
- Support for
NATURAL JOIN - Support for SQL-standard
VALUESclause inFROM - Support for SQL-standard interval literals
- Additional units supported in
EXTRACT SET TIME ZONEalias introduced
Parameterized Queries in Web UI
The Web UI now supports parameterized queries using typed placeholders.
Query Quotas by Normalized Hash
Quotas can now be applied per normalized query hash.
This allows limiting execution frequency of identical query patterns.
Insert Block Size Controls
New behavior for insert block sizing is available under use_strict_insert_block_limits.
Projection Index: commit_order
A new projection index organizes data based on insertion order.
Replication Optimization Settings
New settings allow replicas to skip fetching newly inserted parts under certain conditions:
replicated_fetches_min_part_levelreplicated_fetches_min_part_level_timeout_seconds
Performance Improvements
Data Part Pruning Using Min/Max Statistics
ClickHouse can now prune entire data parts using min/max statistics during query execution.
Join Performance Improvements
Enhancements include:
- Optimizations in hash join and concurrent hash join
- Direct-index hash table for small integer ranges
- Transitive predicate inference for joins
LIKE Query Optimization
LIKE queries can now utilize text indexes for improved performance.
Vectorized Function Improvements
Vectorized math functions (exp, log, tanh, etc.) are now accelerated on:
- AArch64
- FreeBSD
- Darwin
Query Execution Optimizations
- LIMIT pushdown into
UNION ALL - Improved handling of parallel replicas
- Reduced overhead for short queries
Insert Performance Improvements
Insert performance has been improved by optimizing deduplication and batching behavior.
Sorting and String Processing Improvements
- JIT compilation for string comparisons in
ORDER BY - Faster float-to-string and integer-to-string conversions
LowCardinality and Dictionary Optimizations
- Improved performance for discontinuous queries
- Reduced locking overhead for cache dictionaries
Observability and System Improvements
New Metrics and Histograms
New histogram metrics introduced for:
- S3 read requests
- Network buffer usage
Metrics are exposed through system tables and Prometheus endpoints.
Keeper Enhancements
New capabilities include:
- Watch support for client operations
- Recursive listing of nodes
- Improved debugging tools
Memory and Resource Monitoring
New metrics provide better visibility into:
- TCP buffer usage
- Memory allocation behavior
System Tables and Logging
- New histogram metric logging table
- Improved query plan visualization
- Enhanced EXPLAIN output
AI Functions (Experimental)
ClickHouse introduces experimental AI functions:
aiGenerateaiClassifyaiExtractaiTranslate
These functions allow invoking external LLM APIs from SQL queries.
Additional Improvements
Additional improvements include:
- Better EXPLAIN output with more detailed execution information
- Support for multiple authentication methods in configuration
- Improved Iceberg and Spark compatibility
- Reduced memory footprint of internal structures
- Enhanced handling of nullable and dynamic types
Bug Fixes and Stability
ClickHouse 26.4 includes a large number of bug fixes addressing:
- Query correctness issues
- Race conditions
- Distributed query inconsistencies
- Memory safety issues
- Index and pruning edge cases
These fixes improve reliability and correctness across a wide range of workloads.
Conclusion
ClickHouse 26.4 delivers improvements in query execution, indexing, SQL functionality, and system observability, along with numerous stability fixes.
For production deployments, this release provides:
- More consistent query behavior
- Improved performance in joins and data pruning
- Expanded indexing and JSON capabilities
- Better observability and operational control
Teams should review breaking changes and validate workloads before upgrading.
