v.18.16
Backward Incompatible Changes
1Bug Fix
26- Fixes and Performance Enhancements for LowCardinality Data Type in ClickHouse
- Fixed select_sequential_consistency option returning incomplete results
- Databases Specified for DDL ON CLUSTER and ALTER Operations
- Databases Specified Correctly for Subqueries in VIEW
- Fixed PREWHERE Bug with FINAL in VersionedCollapsingMergeTree
- KILL QUERY Now Cancels Waiting Queries in ClickHouse
- Corrected Date and Time Calculations for Daylight Saving Time Adjustments
- Fixed bugs in VIEW and subqueries omitting database
- Fixed race condition in MATERIALIZED VIEW operations
- Fixed "Lock handler cannot be nullptr" Error
- Fixed Query Processing with Enabled Compile Expressions Option
- Fixed Crash with Non-Constant Scale in toDecimal Functions
- Fixed Error for Inserting NULL Elements in Non-Nullable Array Columns
- Fixed Error Logging in DDLWorker When ZooKeeper is Unavailable
- Fixed Return Type for quantile* Functions with Date and DateTime Arguments
- Fixed WITH Clause for Simple Aliases
- Fixed Query Processing with Named Sub-Queries and Qualified Column Names
- Fixed nullptr thread group error with materialized views
- Fixed Crash in arrayReverse Function with Incorrect Arguments
- Fixed Buffer Overflow in extractURLParameter Function and Improved Performance
- Fixed Buffer Overflow in lowerUTF8 and upperUTF8 Functions
- Fixed race condition in MergeTree table deletion
- Fixed race condition in Buffer tables during ALTER or DROP operations
- Fixed segmentation fault on exceeding max_temporary_non_const_columns limit
- Fixed ODBC Dictionary Update Errors
- JIT Compilation of Aggregate Functions Supports LowCardinality Columns
Build/Testing/Packaging Improvement
9- Updated jemalloc library to fix potential memory leak
- Profiling with jemalloc Enabled by Default in Debug Builds
- Added Integration Tests Support for Docker-Only Environments
- Added Fuzz Expression Test in SELECT Queries
- Added Stress Test for Commits to Detect Race Conditions
- Improved Docker Startup Method for ClickHouse Server
- Added Database Initialization Support in Docker Image
- Fixes for ARM Build Issues
- Fixes for macOS and ARM Builds
Improvement
28- Server Configuration Files Saved in Preprocessed Directory for Improved Security
- min_merge_bytes_to_use_direct_io Default Set to 10 GiB in ClickHouse
- Accelerated Server Start with Large Number of Tables
- Added Connection Pool and HTTP Keep-Alive for Replica Connections
- Update: Return 400 Bad Request for Invalid Query Syntax
- join_default_strictness option set to ALL by default for compatibility
- Removed stderr logging for invalid/complex regex in re2 library
- Added Subscription Checks and kafka_max_block_size for Kafka Table Engine
- Support for Variable Arguments and Tuples in Hash Functions
- arrayReverse Function Now Supports All Array Types
- Added Optional Slot Size Parameter to timeSlots Function
- Max Block Size Setting in FULL and RIGHT JOINs
- Added --secure Parameter to Enable TLS in Benchmark Tools
- Type Conversion Issues with Mismatched Buffer Table Structures
- Added tcp_keep_alive_timeout Option for Inactivity Keep-Alive Packets
- Removed Unnecessary Quoting for Single Column Partition Key in system.parts Table
- Modulo Function Support for Date and DateTime Types
- Added Synonyms and Enhanced Syntax for SQL Functions in ClickHouse
- Added mlock feature for clickhouse-server to enhance memory protection
- Improved O_DIRECT Performance with min_bytes_to_use_direct_io Option
- Improved dictGet...OrDefault Function Performance
- firstSignificantSubdomain function enhanced to process gov, mil, and edu domains
- Correct return code for clickhouse-server init script
- New VersionInteger Metric Added to system.metrics Table in ClickHouse
- Removed Numeric Comparison for Date Type to Prevent Errors
- Fixed Output of Stateful Functions to Correctly Reflect Query Analysis Start
- Error Message Displayed if force_restore_data File Cannot Be Deleted
- Added low_cardinality_allow_in_native_format Setting
New Feature
16- DEFAULT Expressions for Missing Fields in Semi-Structured Formats Enabled by insert_sample_with_metadata Setting
- ALTER TABLE now supports MODIFY ORDER BY for sorting key changes in MergeTree tables
- New Sorting Key and Index Options for MergeTree Tables
- Added HDFS Table Function and Engine for Data Import/Export
- Added Base64 Functions: base64Encode, base64Decode, tryBase64Decode
- New Parameter for Configuring Precision in uniqCombined Function
- Added system.contributors table for ClickHouse committers
- Added Ability to Omit Partition in ALTER TABLE ... FREEZE Query
- Added Automatic Type Determination for dictGet and dictGetOrDefault Functions
- New Feature: Column Comments in Table Descriptions with ALTER Support
- Reading Support for Join Type Tables with Simple Keys
- New Options for Creating Join Type Tables in ClickHouse
- Added joinGet Function for Dictionary-like Access to Join Tables
- Added Key Columns to system.tables for Table Key Information
- Added Key Indicator Columns to system.columns Table
- Added min_time and max_time Columns to system.parts Table