v.24.5
Backward Incompatible Changes
3Bug Fix
65- Disabled enable_vertical_final setting by default due to bug #64543
- Fix Backup Process for Multiple Shards
- Fix Passing Projections and Indexes in CREATE Query for MV Inner Table
- Fix incorrect merge of boundRatio
- Fix crash for const low-cardinality columns functions
- Fix FINAL queries producing incorrect results without adaptive granularity
- Improve cgroups v2 support detection for memory controllers
- Fix External Tables Usage in Client
- Fix crash with untuple and unresolved lambda
- Fix premature server listen for connections in ClickHouse
- Fix Intersecting Parts After DROP PART Command
- Correctly Load SQL Security Defaults During Startup
- JOIN filter push down fix
- Fix infinite loop in AzureObjectStorage::listObjects
- CROSS Join Ignore Join Algorithm Setting Update
- Fix WriteBufferToFileSegment and StatusFile Issues
- Fix logical error in SELECT query after ALTER in rare cases
- Fix X-ClickHouse-Timezone Header with session_timezone
- Fix debug assert for grouping WITH ROLLUP and LowCardinality types
- Small fixes for group_by_use_nulls
- Fix backup/restore of projection part when metadata mismatch occurs
- Fix MySQL Dictionary Source in ClickHouse
- Insert QueryFinish on AsyncInsertFlush with No Data
- Fix empty used_dictionaries in system.query_log
- Make MergeTreePrefetchedReadPool Safer
- Fix crash on exit with Sentry enabled due to OpenSSL destruction
- Fix Array and Map Support with Keyed Hashing
- Fix Parquet Filter Pushdown and Potential StorageMerge Issue
- Prevent Replication Conversion if Zookeeper Path Exists
- Analyzer: Optimize Views by Reading Only Necessary Columns
- Analyzer: Forbid WINDOW Redefinition
- flatten_nested issue fix for Replicated database
- Fix issues #63653 and #63722 by Nikolai Kochetov
- Allow cast from Array(Nothing) to Map(Nothing, Nothing)
- Fix ILLEGAL_COLUMN in partial_merge join
- Fix redundant distinct in window functions
- Fix crash with SYSTEM UNLOAD PRIMARY KEY
- Fix Duplicating Cycling Alias in Query
- Make TokenIterator Lazy
- Add endpoint_subpath S3 URI setting
- Fix Deadlock in ParallelReadBuffer #63814
- JOIN filter push down equivalent columns fix
- Remove Data from Disks After DROP with Lazy Database
- Fix Incorrect Result in MV with Parallel Replicas and New Analyzer
- Fixes in find_super_nodes and find_big_family commands of keeper-client
- Update Lambda Execution Name in ClickHouse
- Fix SIGSEGV in CPU/Real Profiler
- Fix EXPLAIN CURRENT TRANSACTION Query
- Fix analyzer issue in ClickHouse
- Allow ALTER TABLE Commands for plain_rewritable Disk
- Recursive CTE Distributed Fix #63939 by Maksim Kita
- Analyzer: Fix COLUMNS Resolve #63962
- LIMIT BY and skip_unused_shards with analyzer - PR #63983 by Nikolai Kochetov
- Fix for Experimental Kusto Trash Issue #63992
- Deserialize Untrusted Binary Inputs Safely
- Fix query analysis for Distributed tables with final setting in non-MergeTree tables
- Add missing settings to recoverLostReplica
- Fix SQL Security Access Checks with Analyzer
- Fix analyzer to use only interpolate expression for DAG
- Fix Azure backup to write multipart blocks by 1 MiB read buffer size
- Correctly Fallback During Backup Copy
- Prevent LOGICAL_ERROR on CREATE TABLE as Materialized View #64174
- Query Cache: Treat Identical Queries on Different Databases as Distinct
- Ignore text_log for Keeper #64218
- Fix Logical Error in Buffer Table with Prewhere
Build/Testing/Packaging Improvement
7- ClickHouse Updated with Clang-18 and New Clang-Tidy Checks
- Experimentally Add loongarch64 Support for ClickHouse
- Dockerfile Reviewed by Official Library
- Information Collection of Symbols in CI Database
- Update Apache Datasketches Library to Resolve Issues #63858 and #63923
- Enable GRPC Support for aarch64 Linux in Cross-Compiled Binaries
- Fix SIGSEGV Unwind on AArch64 Due to Small Signal Stack
Experimental Feature
4New Feature
17- Adds Form Format for Single Record in application/x-www-form-urlencoded
- Added Compression for CROSS JOIN
- Added CROSS JOIN Support for Temporary Files Exceeding Size Limits
- Support Inequal Conditions in Join Operations
- Maps Support Additional Key Types in ClickHouse
- Introduce Bulk Loading to EmbeddedRocksDB for Enhanced Import Speed
- User Can Now Parse CRLF with TSV Format via New Setting
- New Setting to Force NULL Values for Omitted Fields
- S3 Storage Now Supports Iterating Files in Archive Formats
- Support for clamp function in ClickHouse
- Add NPy Output Format Support
- Raw Format Synonym for TSVRaw
- Added SQL Functions for UUID Version 7 and Extraction Methods
- On Linux and MacOS, use corresponding compression method for stdout redirected to compressed files
- Change Warning for High Number of Attached Tables to Differentiate Tables, Views, and Dictionaries
- Support Azure Workload Identity Authentication for azureBlobStorage in ClickHouse
- Add TTL Information to system.parts_columns Table
Improvement
29- Allow Positional Arguments for Queries in ClickHouse Local Command-Line Tools
- Enable plain_rewritable metadata for local and Azure object storages
- Support for English-style Unicode Quotes in Queries
- Allow Trailing Commas in INSERT Query Columns List
- Better Exception Messages for Regexp Format
- Allow Trailing Commas in Values Format
- Make RabbitMQ NACK Broken Messages
- Fix Crash in Asynchronous Stack Unwinding During Debug Info Interpretation
- Distinct Messages for S3 'No Key' Error in Disk and Storage Cases
- Progress bar functionality enhancement for trivial queries with LIMIT and earlier exception handling for row limits
- Support for Merge Key in YAML Configurations
- Enhance Error Message for Non-Deterministic Function with Replicated Source
- Fix interserver secret for Distributed from remote
- Support include_from for YAML files
- Keep Previous Data in Terminal after Skim Suggestions
- Width of Fields Correctly Ignores ANSI Escape Sequences
- Update Error Code Usage for NUMBER_OF_ARGUMENTS_DOESNT_MATCH
- os_user and client_hostname properly configured for command line suggestions in clickhouse-client
- Automatically Reset max_block_size to Default if Zero
- Add build_id ALIAS column to trace_log for auto renaming on binary changes
- Enable Truncate Operation for Object Storage Disks
- Loading of Keywords List Dependent on Server Revision for ClickHouse
- Clickhouse Disks Require Server Setting for Metadata Format Version
- Disable Pretty Format Restrictions in Non-TTY Output
- Exception Handling for ClickHouse in AWS Lambda
- Throw CANNOT_DECOMPRESS on Invalid Compressed Data via HTTP
- Tip for Single Large Number in Pretty Formats Now Supports Nullable and LowCardinality
- Add metrics and logs for parts filtering with indices
- Ignore allow_suspicious_primary_key on ATTACH, verify on ALTER
Performance Improvement
14- Less Contention in Filesystem Cache with Background Eviction Control
- Skip Merging of Newly Created Projection Blocks during INSERTs
- Process String Functions with ASCII Optimization for Performance Improvement
- Improved performance of selection globs in StorageS3
- HostResolver Issues with Multiple IP Addresses and DNS Caching
- Add Configuration for Memory Control and Sorting Speed Enhancement
- clickhouse-local startup speed improved by fixing temporary directory deletion issue
- Micro-optimizations for new analyzer by RaΓΊl MarΓn
- Index Analysis Fix for DateTime and DateTime64 Comparison
- Speed Up Set Indices by 1.5 Times by Reducing Garbage
- Remove Data Copying in Filesystem Cache Write Operation
- Now backups with Azure Blob Storage support multicopy
- Allow Native Copy for Azure Across Different Containers
- Finally enable native copy for Azure