v.22.10
Backward Incompatible Changes
3Bug Fix
40- Choose Aggregation Method for LowCardinality with Big Integer Types
- Several fixes for web disk
- Fix docker run failure when https_port is absent in config
- Mutations Properly Cancelled on Server Shutdown
- Fix ORDER BY and GROUP BY Queries with Monotonic Functions in ClickHouse
- Fix potential crash in SELECT from Merge table with optimize_monotonous_functions_in_order_by enabled
- Fixed rare error related to replica restart after detaching broken part
- Prevent creation or alteration of merge tree tables with reserved column name _row_exists
- Fix missing CORS headers in HTTP responses
- 22.9 Startup Issue with ReplicatedMergeTree Table for Version 20.3 or Older Resolved
- Batch Sending Failures Lead to Thread Blocking Due to Unprocessed Errors
- Fix compact parts with compressed marks setting, addresses issues #41783 and #41746
- Old Replicated Database Versions Lacking ZooKeeper Marker
- Fix Exception in FS Cache
- Fix use_environment_credentials for S3 table function
- Fixed 'Directory already exists and is not empty' Error in ReplicatedMergeTree Replication
- toDateTime64 Consistency with Negative Integer and Float Arguments
- Fix write issue in azure_blob_storage, partially closes #41754
- Fix bzip2 Decoding Issue for Specific Files
- Fix and Improve SQL Date Functions in Extended Range
- Maximum Fetch Size Adjusted to Match Pool Size
- Fix dependency checks for table shutdown and dictionary detachment in ClickHouse
- Fix inefficiency in remote filesystem read with cache
- Fix Timeout Exception for Distributed Queries with Hedged Requests Disabled
- Fixed bug in runningDifference function for Date32 type
- Fix Large File Reuse from Base Backup
- DISTINCT with function in sorting key causes LOGICAL_ERROR
- Fix rare bug with projections and aggregate_functions_null_for_empty setting
- Fix Descending Read from Buffer Tables
- Fix ClickHouse Startup Bug with Inconsistent Background Settings
- Fix Invalid columns.txt Metadata Issue on Disk After ALTER UPDATE of Attached Part
- Fix additional_table_filters not applied to Distributed storage
- Fix data race in query finish/cancel
- Revert of #40217 to Fix Regression in Date/Time Functions
- Fix assert cast in join on falsy condition
- Fix Buffer Overflow in Decimal Data Type Processing
- AggregateFunctionQuantile Fixes UInt128 Handling for Accurate Results
- Fix bad_cast assert in Annoy indexes for non-Float32 columns
- Arithmetic Operator Issue with Uninitialized Memory in DateTime and Integer Operations
- Fix table loading error with alias function names during server upgrade
Build/Testing/Packaging Improvement
8- Add Fuzzer for Table Definitions - Major Advancement in ClickHouse Testing
- ClickHouse Cloud Beta Version Released
- Added WHERE Clause Support to AST Fuzzer
- Aarch64 Binaries Now Require ARMv8.2 with Added CMake Option for ARMv8.0 Compatibility
- Allow ClickHouse to Build with Musl Fixes
- Add File Check for $CLICKHOUSE_CRONFILE to Prevent Sed Command Errors
- Update cctz to 2022e for New Timezone Changes in Palestine, Ukraine, Jordan, and Syria
- Add Rust Code Support in ClickHouse Using BLAKE3 Hash Function
Experimental Feature
2Improvement
38- Add allow_implicit_no_password Setting to Enforce Password Requirements
- Embedded Keeper Background Start for ClickHouse Quorum Bypass
- Improved Reactivity for ZooKeeper Connection Reestablishment
- Projections Added for Zero-Copy Replication in ClickHouse
- Support EXPLAIN in Subqueries for ClickHouse
- Allow Query-Scope Changes for async_insert_max_data_size and async_insert_busy_timeout_ms
- Improvements for Remote Filesystem Reading and Configurable Threadpool Size
- Support Combinators in WindowTransform and Aggregate Functions
- Add tryDecrypt function that returns NULL on decryption failure
- Add unreserved_space column to system.disks table
- Support S3 Authorization Headers in Table Function Arguments
- Add MultiRead Support in ClickHouse Keeper and ZooKeeper Client
- Add Decimal Type Support in IN Operator for Floating Point Comparisons
- Allow human-readable size values in cache config
- ClickHouse Fixes Stale DNS Entry Caching Issue
- Add Interactive History Search for ClickHouse Client Using fzf-like Utility
- Only Allow Clients with Invalid Certificates to Use '--accept-certificate' Flag
- Add tryBase58Decode function similar to tryBase64Decode
- Improve Feedback for Partition Replacement with Different Primary Key
- Fix parallel parsing memory overallocation in segmentator
- Don't Log "TABLE_IS_DROPPED" Exception for Ignored SELECT from System Table
- Improve enable_extended_results_for_datetime_functions to return DateTime64 for specific time functions
- Improve DateTime Type Inference for Text Formats in ClickHouse
- Remove Confusing Warning for Insertion with perform_ttl_move_on_insert = false
- Allow countState(*) syntax similar to count(*)
- Fix rankCorr Size Overflow
- Added Custom Environment Name Option in Sentry Configuration
- Fix Out-of-Range Date Parsing from CSV
- parseDataTimeBestEffort Enhances Support for Comma in Date-Time Format
- Improved Stale Replica Recovery for ReplicatedMergeTree
- Add Date32 Support to date_diff Function and Fix Unix Epoch Issues
- ClickHouse Timeout Issues During Large Multipart Uploads to Minio
- Fix Invalid Cast of Aggregate State Types with Complex Types
- Allow Date32 Arguments for dateName Function
- Now Filters with NULL Literals Used in Index Analysis
- Merge Parts Based on Age Threshold Configuration
- Added Infrastructure for Query Analysis and Planning with Experimental Analyzer Setting
- Improve Recovery Time for Lost Keeper Connections
New Feature
14- Composable Protocol Configuration Enhancements in ClickHouse
- Add S3 as a Backup Destination Supporting As-Is Path/Data Structure
- Added Random Generation Functions for Various Distributions
- Improvement: ClickHouse Keeper now supports uploading snapshots to S3
- Added analysisOfVariance (anova) Aggregate Function for Statistical Testing
- Support Limiting Temporary Data Storage on Disk
- Add format_json_object_each_row_column_for_object_name setting for JSONObjectEachRow format
- Add BLAKE3 Hash Function to SQL
- Function javaHash Extended to Handle Integers
- Add OpenTelemetry Support for ON CLUSTER DDL with Version Requirement
- Added asynchronous_insert_log system table for enhanced introspection of asynchronous inserts
- Add support for lz4, bz2, and snappy in HTTP Accept-Encoding
- Adds Morton Coding (ZCurve) Encode/Decode Functions
- Add Support for SET setting_name = DEFAULT
Performance Improvement
11- Relaxing "Too many parts" threshold in ClickHouse for larger partitions
- Implement Operator Precedence Parser for Reduced Stack Size
- Distinct Optimization with Sorting Properties in Data Streams
- ColumnVector Optimization for UInt8 Index with AVX512VBMI
- Optimize Mutex Lock Contentions for Improved QPS in SSB Benchmark
- Add ldapr Capabilities to AArch64 Builds for Graviton 2+, Azure, and GCP
- Improve String Comparison Performance with Empty Constant String
- Optimize insertFrom of ColumnAggregateFunction to Share Aggregate State
- Optimize Azure Blob Storage Writing Efficiency
- Make Thread IDs Unique in Process List and Query Log to Reduce Waste
- Support Cache Bypassing for Large Read Ranges in ClickHouse