v.21.7
Backward Incompatible Changes
2Bug Fix
56- Improvement for Backward Compatibility in Partition Key Modulo Function
- Fix rare merge issue on low-memory servers
- Fix rare error in replication queue during partition alteration
- Fix potential crash in aggregate function calculations
- Fixed SYSTEM RESTART REPLICA and SYSTEM SYNC REPLICA Behavior Under Low RAM Conditions
- Fix ZooKeeper Client Hang in ClickHouse Server
- Fix outdated entries in replication queue after ZooKeeper connection loss
- Fix WHERE Condition in Query Plan Optimization
- Fix bug causing intersecting parts after merges with TTL
- Fix for ReplicatedMergeTree table handling ZooKeeper connection loss by force-stopping background operations
- Fix Key Expression Comparison Error in ARRAY JOIN with Primary Key
- Fix Totals for Queries WITH TOTALS and WITH FILL
- Fix data race in querying system.clusters during cluster configuration reload
- Fixed "No such file or directory" error when moving Distributed table between databases
- Fix for Ignored REPLACE PARTITION Issue in ClickHouse
- Fixed Bug in Replicated Database Engine Causing DDL Query Skips
- Fix null pointer dereference in EXPLAIN AST without query
- Fix automatic dropping of empty parts to prevent replication stalls
- Fix S3 Virtual Filesystem Table Restore in ClickHouse
- Fix nullptr dereference and add Decimal256 support in Arrow format
- Fix Excessive Underscore in Preprocessed Configuration File Names
- Fix segfault in clickhouse-copier when sharding_key is absent in task config
- Fix REPLACE Column Transformer Quoting in DDL
- Fix Non-Deterministic Behavior in quantileDeterministic Function
- Support SimpleAggregateFunction(LowCardinality) for SummingMergeTree
- Fix logical error in exception message for sum operation in min/maxMap
- Fix DB::ColumnLowCardinality to ColumnVector<char8_t> Cast Error in IN Queries
- Fix joinGetOrNull Behavior with Not-Nullable Columns
- Fix UBSan Report in Big Integers Handling
- Fixed CSVWithNames Column Insertion Error
- Do Not Use Table Projection with SELECT FINAL in ClickHouse
- Fix potential parts loss with UUID as partition key after updating to 21.5
- Fix crash in query with cross join and joined_subquery_requires_alias = 0
- Fix bug in mapContains function causing empty column error
- Remove Self-Referencing Columns in Table Creation
- Fix Aggregate Projection Result with Group By Empty Key
- Fix Protobuf Serialization of Split Nested Messages
- Fix Limit/Offset Settings for Distributed Queries
- Fix heap-buffer-overflow in Arrow format
- Fixed 'Cannot read from istream at offset 0' Error in DiskS3 Filesystem
- Fix "Missing columns" Exception in Distributed Materialized View Join
- Allow NULL values in PostgreSQL compatibility protocol
- Fix client exception on unsynchronized mutation wait
- Fixed deserialization bug in random generator state affecting data type determinism
- Disallow uniqXXXXStates in aggregation, then fix root cause to allow it back.
- Fix Tuples in CREATE .. AS SELECT Queries
- Fix Total Bytes Computation in Buffer Table to Prevent Overflow
- Fix Monotonicity Issue in toWeek Function
- Fix Deadlock in LDAP Role Mapping for User Authentication
- Incorporate CRLF Preceding Boundary in multipart/form-data Messages
- Fix Drop Partition for Intersect Fake Parts Issue
- Fixed bug in moving Materialized View from Ordinary to Atomic database
- Allow Empty HTTP Headers - Fixes #23901
- Correct Processing of Mutations in Memory Tables
- Make LowCardinality Property Consistent in JOIN Output
- Fix Kafka Tables Failover Bug in ClickHouse
Build/Testing/Packaging Improvement
9- Add Darwin aarch64 Builds for Mac M1 in CI and Update Documentation Links
- Adds Cross-Platform Embedding of Binary Resources into Executables on Illumos
- Add Join Options for Stress Test Fuzzing
- Enable S3 Module Build in OSX
- Add Integration Test Cases for JDBC Bridge
- Integration Tests Configuration Update: Removed Manual Setup for Dictionaries
- Add libfuzzer tests for YAMLParser class
- Ubuntu 20.04 Integration Tests Updated with Docker-Compose 1.28.2 and Parallel Execution_FEATURE
- Fix TOCTOU Error in Installation Script
Experimental Feature
2Improvement
46- Limit Bandwidth for Replication with New Settings in Replicated*MergeTree
- Resource Constraints and Isolation for ODBC and Library Bridges in ClickHouse
- Add standalone clickhouse-keeper symlink for independent coordination
- Use Global Settings for VIEW Queries to Avoid Errors
- On server start, incorrectly partitioned parts remain detached instead of being removed
- Increase background schedule pool size to 128 to prevent replication queue hang
- Add max_parts_to_merge_at_once Setting to Limit Background Merges
- Allow NOT IN Operator for Partition Pruning
- Recognize IPv4 Addresses as Local in ClickHouse Feature Testing
- ClickHouse MaterializeMySQL Now Preserves MySQL Column Comments
- Add MySQL Storage Engine Settings for Connection Management
- Improve Startup Time of Distributed Engine
- Improved Distributed Tables: Increased Replica Support for Internal Replication
- Added Interval Support for LowCardinality Type
- Add == Operator for Time Conditions in sequenceMatch and sequenceCount Functions
- Add HTTP settings for max fields and sizes
- Add support for if function with Decimal and Int types
- Update ClickHouse Client to Display Reconnect Message
- Correct Memory Tracking in topK Aggregate Function
- Fix topLevelDomain for IDN hosts to prevent returning empty strings
- Detect Linux Kernel Version at Runtime for Async Socket Functionality
- Enhancement of Distributed Query: Support for Single-Element Tuples with optimize_skip_unused_shards=1
- Improved S3 Error Logging and Formatting
- Some queries require multi-pass semantic analysis with reusable sets for IN
- Respect max_distributed_connections in insert_distributed_sync to avoid max_thread_pool_size issues
- Avoid Concealing Scalar Subquery Errors in ClickHouse
- Make String-to-Int Parser Stricter
- SSD_CACHE Creation Limitations in user_files Directory
- PostgreSQL Support for Specifying Non-Default Schema in Insert Queries
- Fix IPv6 Address Resolution in ClickHouse
- Fix Trailing Whitespaces in Multiline Subquery FROM Clause
- Improvement for Split Distributed Batch on Failures in Distributed Tables
- Handle Column Name Clashes for Join Table Engine
- Display Progress for File Table Engine in ClickHouse Local and Client on STDIN Data Inserts
- Bugfixes and Improvements for ClickHouse Copier: Schema Compatibility, TTL Support, Alias Handling, and Progress Tracking
- Added Sleep with Backoff for S3 Read Retries
- Respect insert_allow_materialized_columns for INSERT into Distributed table
- Add Support for Pushing Down LIMIT in Distributed Queries
- Fix Zero-Copy Replication with Multiple S3 Volumes
- Resolve Port Number Binding for User Requests in Log Messages
- Fixed PostgreSQL Array Conversion Issue with attndims
- Fix DateTime Conversion with Timezone for MySQL, PostgreSQL, ODBC
- Distinguish KILL MUTATION for Different Tables to Fix Cancelled Mutating Parts Error
- Allow Declaration of S3 Disk at Bucket Root
- Enable Reading of Subcolumns for Distributed Tables
- MySQL Compatibility: Fix User Function Output
New Feature
13- Support YAML Configuration Format as Alternative to XML
- Restoration of Replicated Tables with Lost ZooKeeper Metadata
- Support Structs, Maps, and Dictionaries in Arrow/Parquet/ORC Formats
- Added Support for Array Type in Dictionaries
- Added `bitPositionsToArray` Function in ClickHouse
- Added dateName function for day and month names by Daniil Kondratyev
- Add toJSONString Function for JSON Serialization of Columns
- query_log Introduces Initial Query Start Time Columns
- Add aggregate function segmentLengthSum
- Add prefer_global_in_and_join boolean setting for IN/JOIN operations
- Support ALTER DELETE Queries for Join Table Engine
- Add fast quantileBFloat16 functions in ClickHouse
- Implement sequenceNextNode() for flow analysis