v.24.4
Bug Fix
65- Fix logical error in quorum insert transaction undo
- Fix parser error with COUNT(*) and FILTER clause
- Fix logical error in group_by_use_nulls with grouping sets and analyzer
- Cancel merges before removing moved parts #61610
- Fix Abort in Apache Arrow #61720
- Search for convert_to_replicated flag at correct disk path
- Fix data race in distributed foreground and background insert operations
- Mark CANNOT_PARSE_ESCAPE_SEQUENCE as parse error for row input formats
- Fix HTTP Exception Message Formatting with http_wait_end_of_query
- Proper fix for LowCardinality with JSONExtract functions
- Crash in Engine Merge if Row Policy Lacks Expression
- Fix uncaught exception in WriteBufferAzureBlobStorage destructor
- Fix CREATE TABLE for ReplicatedMergeTree without column definitions
- Fix optimize_skip_unused_shards_rewrite_in for composite sharding key
- ReadWriteBufferFromHTTP Corrects Host Header on Redirects
- Fix Bool Data Type Parsing in External Table
- Analyzer fixes query parameter resolution
- Fix Restoring Parts While Readonly
- Fix crash in index definition with SQL UDF
- Fix NULL Random Seed in generateRandom Function
- Correct Handling of Const Columns in Distinct Transform
- Fix Parts Splitter for FINAL Modifier Queries
- Analyzer: Fix alias to parameterized view resolution
- Analyzer: Fix Name Resolution from Parent Scopes
- Fix argMax for nullable non-native numeric column
- Fix Backup and Restore of Materialized View in Ordinary Database
- Fix Data Race on Scalars in Context
- Fix primary key in materialized view #62319
- Do Not Build Multithread Insert Pipeline for Unsupported Tables
- Fix Analyzer for Positional Arguments in Distributed Query
- Fix filter pushdown in Merge engine in analyzer
- Fix GLOBAL IN Table Queries with Analyzer
- Respect Truncate and Create New File Settings in Partitioned Writes for S3/HDFS/Azure Engines
- Fix AzureBlobStorage Backup Restore Path
- Fix SimpleSquashingChunksTransform Issue #62451
- Fix capture of nested lambda
- Avoid Crash When Reading Protobuf with Recursive Types
- Fix bug in partition movement in ClickHouse
- Fix scalar subquery issue in LIMIT function
- Fix segfault in unsupported Hive engine
- Fix memory leak in groupArraySorted
- Fix crash in largestTriangleThreeBuckets
- Fix Tumble and Hop for Larger Resolutions
- Fix argMin/argMax Combinator State
- Fix Cache Lock Contention for Temporary Data Handling
- Fix crash in mergeTreeIndex function
- fix nested materialized columns size check issues
- Fix FINAL modifier not respected in CTE with analyzer
- Fix crash in formatRow function with JSON format and HTTP interface
- Azure: Fix Final URL Building from Endpoint Object
- Fix GCD Codec Issue #62853
- Fix LowCardinality(Nullable) Key in Hyperrectangle
- Fix fromUnixtimestamp in Joda Syntax for UInt32 Input Values
- Disable optimize_rewrite_aggregate_function_with_if for sum(nullable)
- Fix PREWHERE for StorageBuffer with Different Source Table Column Types
- Fix cache key directory creation failure handling
- gRPC fix for crash on IPv6 peer connection
- Fix CHECKSUM_DOESNT_MATCH during replicated fetches
- Fix Uncaught Exception in Temporary Data Cache
- Fix implicit cast in optimize_rewrite_aggregate_function_with_if
- Fix unhandled exception in RestorerFromBackup
- Do not remove server constants from GROUP BY key for secondary query
- Fix Monotonicity Judgment for Absolute Function
- Set Server Name for SSL Handshake in MongoDB Engine
- Use User-Specified DB for MongoDB Wire Protocol Version Check
Build/Testing/Packaging Improvement
7- Vendor Rust dependencies for improved code building in ClickHouse
- ClickHouse Adopts OpenSSL 3.2, Complementing Compatibility Despite Engineering Concerns
- Ignore DROP Queries in Stress Test and Use TRUNCATE for Memory/JOIN Table Upgrades
- Remove Keeper Docker Image Volumes /etc/clickhouse-keeper and /var/log/clickhouse-keeper
- Add Tests for Deprecated Issues with Analyzer Default Enabled
- Add Tests for Resolved or Irrelevant Issues in ClickHouse
- Fixed dynamic OpenSSL build errors for IBM s390x platforms
Experimental Feature
6- Support Parallel Write Buffer for Azure Blob Storage
- Userspace Page Cache Supports Static Web Storage
- Don't Treat Bool and Number Variants as Suspicious in Variant Type
- Implement Improved String to Variant Conversion via Parsing
- Support Variant in JSONExtract Functions
- Mark Variant Type as Comparable for Primary Key Use
New Feature
12- Support for Recursive CTEs in ClickHouse
- Support QUALIFY Clause Implementation
- Table Engines Now Grantable Without Affecting Existing Users
- Added Rewritable S3 Disk Supporting INSERT Operations for System Tables
- Syntax Highlighting Enhanced to Syntax Level in Client Editor
- Supports Dropping Multiple Tables Simultaneously
- Modifying Memory Table Settings with ALTER MODIFY SETTING Supported
- Added Role Query Parameter to HTTP Interface for Enhanced Statement Execution
- Add SYSTEM UNLOAD PRIMARY KEY to Optimize Memory Usage
- Added value columns to system.text_log for message formatting
- Added Persistent Virtual Columns and Enhanced Block Number Support in MergeTree
- Add Input Format Setting to Handle Bad Escape Sequences in JSON
Improvement
34- SELECT * FROM numbers() Works Like SELECT * FROM system.numbers
- Introduce Separate Consumer/Producer Tags for Kafka Configuration
- Functions date_diff and age Enhanced for Nanosecond Precision
- Added nano, micro, and millisecond units to date_trunc
- Reload certificate chain during certificate update
- Prevent Table Attachment with Active Replica to Avoid Error #60432
- Implement input support for clickhouse-local
- Join table engine with ANY strictness now prioritizes first inserted row after reload
- Automatically Infer Nullable Column Types from Apache Arrow Schema
- Allow cancellation of parallel merge in aggregate state aggregation
- Use system.keywords for Suggestions and Internal Consistency
- OPTIMIZE FINAL for ReplicatedMergeTree Enhanced to Wait for Active Merges
- Inconsistent Input Field Resizing When Reading Hive Text Files
- CREATE AS Copies Table's Comment
- Add Query Progress to Zookeeper Table
- Add server-wide trace collector option for Real and CPU
- Added lightweight_deletes_sync setting for synchronous lightweight delete behavior
- Distinguish Booleans and Integers in Custom Settings Parsing
- Support S3 Access via AWS Private Link Interface Endpoints
- Do not create UDF directory in clickhouse-client if it does not exist
- Query Cache Excludes System Table Results
- MOVE PARTITION TO TABLE Query Delays or Throws TOO_MANY_PARTS Exception to Manage Part Count Limits
- Changed Default Installation Directory on macOS to /usr/local/bin
- Make transform Function Return First Match
- Added hostname column to blob_storage_log system table
- System.backup_log Table Update: Added Event Time Column
- Table system.backup_log Now Uses Default Sorting Key event_date, event_time
- Avoid Evaluating Table DEFAULT Expressions During RESTORE
- S3 Storage and Backups Require Default Keep Alive Settings
- Add Client Identifier to Log Messages for Differentiating Consumers in ClickHouse
- Allow special macros {uuid} and {database} in Replicated database ZooKeeper path
- Allow Quota Key with Different Auth Scheme in HTTP Requests
- Reduce Verbosity of --help Output in ClickHouse Client and Local
- Removal of log_bin_use_v1_row_events in MySQL 8.3 and Adjustments to MaterializedMySQL Engine
Performance Improvement
15- JOIN filter push down improvements with equivalent sets
- Convert OUTER JOIN to INNER JOIN for Default Value Filtering Optimization
- Improvement for AWS S3 Keep-Alive Header Handling
- Reduce Mutation Overhead for SELECTs (v2)
- More Frequent Functions in PODArray Force-Inlined
- Speed up JSON parsing by skipping unnecessary object data
- Improve Parallel Parsing for File Table Functions in ClickHouse
- Functions to_utc_timestamp and from_utc_timestamp Now Twice as Fast
- Functions for DateTime Parsing Now 10x-1000x Faster with Non-Parseable Inputs
- Improved Performance of SELECTs on system.query_cache with Large Entry Sets
- Less contention in filesystem cache: unlock space reservation attempts
- Speed up dynamic resize of filesystem cache
- Dictionary Source with INVALIDATE_QUERY Not Reloaded Twice on Startup
- Fix Primary Index Usage in Boolean Expressions with Redundant Conditions
- Return Stream of Chunks from system.remote_data_paths for Improved Memory Use and Query Control
upgrade-notes
5- clickhouse-odbc-bridge and clickhouse-library-bridge are now separate packages
- Don't Allow max_parallel_replicas to be Set to 0 for Experimental Parallel Reading
- Remove INSERT WATCH query support from deprecated LIVE VIEW feature
- Removed optimize_monotonous_functions_in_order_by setting
- Remove Experimental Tag from Replicated Database Engine, Now in Beta Stage