v.23.6
Backward Incompatible Changes
4Bug Fix
31- Report executable dictionary loading status accurately
- Proper Mutation of Skip Indices and Projections
- Cleanup of Moving Parts in ClickHouse PR #50489
- Fix Backward Compatibility for IP Types Hashing in Aggregate Functions
- Fix Log Family Table Row Count After Truncate
- Fix uniqExact parallel merging bug
- Revert Changes to Grace Hash Join
- Query Cache: Fix bad cast from ColumnConst to ColumnVector<char8_t>
- Avoid Storing Unknown Operation Logs in Keeper
- SummingMergeTree Support for DateTime64
- Add compatibility setting for non-const timezones
- Fix LDAP Parameters Hashing in Cache Entries
- Fallback to Big Integer Parsing from String in Parquet Format
- Fix frequent lock file checks during backup writing
- Do not apply projection with read-in-order enabled
- Fix race condition in Azure blob storage iterator
- Fix sort_description propagation in CreatingSets
- Fix Iceberg v2 Optional Metadata Parsing
- MaterializedMySQL: Preserve Parentheses for Empty Table Overrides
- Fix crash in BackupCoordinationStageSync::setError()
- Fix ColumnLowCardinality Dictionary Copy-on-Write Issue
- Generate Safe IVs #51086 by Salvatore Mesoraca
- Fix Ineffective Query Cache for SELECTs with Subqueries
- Fix nullable comparison for constant set index
- Fix crash in s3 and s3Cluster functions
- Fix Crash with Compiled Expressions
- Fix use-after-free in StorageURL on URL switch
- Updated Check for Parameterized View #51272
- Fix Duplicate File Backup Writes
- Fix fuzzer failure in ActionsDAG
- Remove Garbage from transform Function
Build/Testing/Packaging Improvement
6- Add Embedded Keeper-Client to Standalone Keeper Binary
- LZ4 Version Update in ClickHouse
- ClickHouse: Log Changed Settings on Fatal Errors
- Allow building ClickHouse with clang-17
- SQLancer Check Stability and Failure Reporting Update
- Optimize Dockerfile RUN Layer with Conditional Installations and OS Upgrades
Experimental Feature
3New Feature
9- Support for All Data Types in Transform Function and CASE Statement
- Added --rename_files_after_processing option
- Add TRUNCATE Modifier Support to INTO OUTFILE Clause
- Add Redis Table Engine and Function for External Queries
- Allow Skipping Empty Files in Table Functions with New Settings
- Add Setting for MySQL Type Display in SHOW COLUMNS Statement
- Clickhouse-client Supports Connection String Usage
- Add session_timezone setting for default timezone in sessions
- Codec DEFLATE_QPL Gains Non-Experimental Status with New Server Setting
Improvement
18- Relax Thresholds for Parts and Handle Backpressure in Long-Running Inserts
- Allow casting IPv6 to IPv4 for CIDR ::ffff:0:0/96
- Update MongoDB Protocol to Support Version 5.1 and Newer
- Add input_format_max_bytes_to_read_for_schema_inference setting for schema inference limit
- Respect input_format_null_as_default in Schema Inference
- Allow Skipping Trailing Empty Lines in CSV/TSV/CustomSeparated Formats via Settings
- Functions toDateOrDefault and accuateCast now parse numeric arguments correctly
- Support CSV with Whitespace or Tab Delimiters in Spark
- Settings number_of_mutations_to_delay and number_of_mutations_to_throw Enabled by Default with New Values
- Dashboard Now Accurately Displays Missing Values
- Added Date and Time Arguments to Syslog Timestamp Format in DateTime Functions
- Command line "--password" parameter in clickhouse-client can now be specified only once
- Use hash_of_all_files from system.parts for on-cluster backup identity checks
- System Table zookeeper_connection: Connection Time and Session Uptime Information
- Improve Progress Bar for File/S3/HDFS/URL Table Functions and Cluster Functions
- Add total_bytes_to_read to TCP Progress Packet for Enhanced Progress Bar
- Better Data Parts Checking on Disks with Filesystem Cache
- Fix incorrect current_elements_num in fs cache
Performance Improvement
11- Improved Merge Scheduling and Cleanup Tasks in ReplicatedMergeTree
- Make filter push down through cross join
- Improve QueryProfiler Performance with Thread-Local Timer ID
- Rewrite CapnProto I/O Format for Enhanced Performance
- Optimize Parquet Write Performance for Parallel Threads
- Disable parallel output for single-block MATERIALIZED VIEWs and storages
- Merge PR #46558: Optimize Sort by Avoiding Unnecessary Block Permutation
- Make Parallel List Requests to ZooKeeper for Faster Read Access
- Speed up DateTime Initialization for ClickHouse Client
- Fix data lakes slowness due to synchronous head requests
- Do Not Read All Columns from Right GLOBAL JOIN Table