Project: ClickHouse (App Definition and Development / Database)
File: v24.2.1.2248-stable.md

sidebar_position: 1 sidebar_label: 2024 Validate suspicious/experimental types in nested types. Previously we didn't validate such types (except JSON) in nested types like Array/Tuple/Map. (). The sort clause `ORDER BY ALL` (introduced with v23.12) is replaced by `ORDER BY `. The previous syntax was too error-prone for tables with a column `all`. (). Rename the setting `extractkvpmaxpairsperrow` to `extractkeyvaluepairsmaxpairsperrow`. The bug (unnecessary abbreviation in the setting name) was introduced in https://github.com/ClickHouse/ClickHouse/pull/43606. Fix the documentation of this setting. (). Rename the setting extractkvpmaxpairsperrow to extractkeyvaluepairsmaxpairsperrow. The bug (unnecessary abbreviation in the setting name) was introduced in https://github.com/ClickHouse/ClickHouse/pull/43606. Fix the documentation of this setting. (). Add sanity check for number of threads and block sizes. (). Added maximum sequential login failures to the quota. (). Added new syntax which allows to specify definer user in View/Materialized View. This allows to execute selects/inserts from views without explicit grants for underlying tables. (). Backup & Restore support for AzureBlobStorage resolves . (). Implemented automatic conversion of merge tree tables of different kinds to replicated engine. Create empty `converttoreplicated` file in table's data directory (`/clickhouse/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/`) and that table will be converted automatically on next server start. (). Added table function `mergeTreeIndex`. It represents the contents of index and marks files of `MergeTree` tables. It can be used for introspection. Syntax: `mergeTreeIndex(database, table, (). Added function `seriesOutliersTukey` to detect outliers in series data using Tukey's fences algorithm. (). The user can now specify the template string directly in the query using `formatschemarowstemplate` as an alternative to `formattemplate_row`. Closes . (). Try to detect file format automatically during schema inference if it's unknown in `file/s3/hdfs/url/azureBlobStorage` engines. Closes . (). Add function variantType that returns Enum with variant type name for each row. (). Added query `ALTER TABLE table FORGET PARTITION partition` that removes ZooKeeper nodes, related to an empty partition. (). Support JWT credentials file for the NATS table engine. (). Provides new aggregate function groupArrayIntersect. Follows up: . (). Implemented system.dns_cache table, which can be useful for debugging DNS issues. (). The codec `LZ4HC` will accept a new level 2, which is faster than the previous minimum level 3, at the expense of less compression. In previous versions, `LZ4HC(2)` and less was the same as `LZ4HC(3)`. Author: . (). Implemented system.dnscache table, which can be useful for debugging DNS issues. New server setting dnscachemaxsize. (). Support single-argument version for the merge table function, as `merge( (). Added new syntax which allows to specify definer user in View/Materialized View. This allows to execute selects/inserts from views without explicit grants for underlying tables. (). Eliminates min/max/any/anyLast aggregators of GROUP BY keys in SELECT section. (). Vectorized distance functions used in vector search. (). Continue optimizing branch miss of if function when result type is float/decimal/int , follow up of https://github.com/ClickHouse/ClickHouse/pull/57885. (). Optimize if function when input type is map, speed up by ~10x. (). Improve performance of Int8 type by implementing strict aliasing. (). Optimize performance of sum/avg conditionally for bigint and big decimal types by reducing branch miss. (). Improve performance of SELECTs with active mutations. (). Optimized function `isNotNull` with AVX2. (). Reuse the result of `FunctionFactory::instance().get("isNotNull", context)` and `FunctionFactory::instance().get("assumeNotNull", context)`. Make sure it is called once during the lifetime of `FunctionCoalesce`. (). Improve ASOF JOIN performance for sorted or almost sorted data. (). Primary key will use less amount of memory. (). Improve memory usage for primary key and some other operations.

The tables' primary keys will be loaded in memory lazily on first access. This is controlled by the new MergeTree setting `primarykeylazy_load`, which is on by default. This provides several advantages: - it will not be loaded for tables that are not used; - if there is not enough memory, an exception will be thrown on first use instead of at server startup. This provides several disadvantages: - the latency of loading the primary key will be paid on the first query rather than before accepting connections; this theoretically may introduce a thundering-herd problem. This closes . (). Vectorized function `dotProduct` which is useful for vector search. (). As is shown in Fig 1, the replacement of "&&" with "&" could generate the SIMD code. Fig 1. Code compiled from '&&' (left) and '&' (right). (). Added support for parameterized view with analyzer to not analyze create parameterized view. Refactor existing parameterized view logic to not analyze create parameterized view. (). Do not consider data part as broken if projection is broken. Closes . (). Add short-circuit ability for `dictGetOrDefault` function. Closes . (). Running `ALTER COLUMN MATERIALIZE` on a column with `DEFAULT` or `MATERIALIZED` expression now writes the correct values: The default value for existing parts with default value or the non-default value for existing parts with non-default value. Previously, the default value was written for all existing parts. (). Enabled a backoff logic (e.g. exponential). Will provide an ability for reduced CPU usage, memory usage and log file sizes. (). Add improvement to count InitialQuery. (). Support negative positional arguments. Closes . (). Implement auto-adjustment for asynchronous insert timeouts. The following settings are introduced: asyncinsertpolltimeoutms, asyncinsertuseadaptivebusytimeout, asyncinsertbusytimeoutminms, asyncinsertbusytimeoutmaxms, asyncinsertbusytimeoutincreaserate, asyncinsertbusytimeoutdecrease_rate. (). Allow to define `volumepriority` in `storageconfiguration`. (). Add support for Date32 type in T64 codec. (). Support `LEFT JOIN`, `ALL INNER JOIN`, and simple subqueries for parallel replicas (only with analyzer). New setting `parallelreplicaspreferlocaljoin` chooses local `JOIN` execution (by default) vs `GLOBAL JOIN`. All tables should exist on every replica from `clusterforparallelreplicas`. New settings `minexternaltableblocksizerows` and `minexternaltableblocksize_bytes` are used to squash small blocks that are sent for temporary tables (only with analyzer). (). Allow trailing commas in types with several items. (). Allow parallel and distributed processing for `S3Queue` table engine. For distributed processing use setting `s3queue_total_shards_num` (by default `1`). Setting `s3queue_processing_threads_num` previously was not allowed for Ordered processing mode, now it is allowed. Warning: settings `s3queue_processing_threads_num`(processing threads per each shard) and `s3queue_total_shards_num` for ordered mode change how metadata is stored (make the number of `max_processed_file` nodes equal to `s3queue_processing_threads_num s3queuetotalshards_num`), so they must be the same for all shards and cannot be changed once at least one shard is created. (). Allow concurrent table creation in `DatabaseReplicated` during `recoverLostReplica`. (). Settings for the Distributed table engine can now be specified in the server configuration file (similar to MergeTree settings), e.g. ``` <distributed> <flushondetach>false</flushondetach> </distributed> ```. (). Use MergeTree as a default table engine. It makes the usability much better, and closer to ClickHouse Cloud. (). Retry disconnects and expired sessions when reading `system.zookeeper`. This is helpful when reading many rows from `system.zookeeper` table especially in the presence of fault-injected disconnects. (). Do not interpret numbers with leading zeroes as octals when `inputformatvaluesinterpretexpressions=0`. (). At startup and whenever config files are changed, ClickHouse updates the hard memory limits of its total memory tracker. These limits are computed based on various server settings and cgroups limits (on

Previously, setting `/sys/fs/cgroup/memory.max` (for cgroups v2) was hard-coded. As a result, cgroup v2 memory limits configured for nested groups (hierarchies), e.g. `/sys/fs/cgroup/my/nested/group/memory.max` were ignored. This is now fixed. The behavior of v1 memory limits remains unchanged. (). New profile events added to observe the time spent on calculating PK/projections/secondary indices during `INSERT`-s. (). Allow to define a starting point for S3Queue with Ordered mode at creation using setting `s3queuelastprocessed_path`. (). Keeper improvement: cache only a certain amount of logs in-memory controlled by `latestlogscachesizethreshold` and `commitlogscachesizethreshold`. (). Made comments for system tables also available in `system.tables` in `clickhouse-local`. (). Don't infer floats in exponential notation by default. Add a setting `inputformattryinferexponent_floats` that will restore previous behaviour (disabled by default). Closes . (). Allow alter operations to be surrounded by parenthesis. The emission of parentheses can be controlled by the `formatalteroperationswithparentheses` config. By default in formatted queries the parentheses are emitted as we store the formatted alter operations in some places as metadata (e.g.: mutations). The new syntax clarifies some of the queries where alter operations end in a list. E.g.: `ALTER TABLE x MODIFY TTL date GROUP BY a, b, DROP COLUMN c` cannot be parsed properly with the old syntax. In the new syntax the query `ALTER TABLE x (MODIFY TTL date GROUP BY a, b), (DROP COLUMN c)` is obvious. Older versions are not able to read the new syntax, therefore using the new syntax might cause issues if newer and older version of ClickHouse are mixed in a single cluster. (). The previous default value equals to 1 MB for `asyncinsertmaxdatasize` appeared to be too small. The new one would be 10 MiB. (). Previously the whole result was accumulated in memory and returned as one big chunk. This change should help to reduce memory consumption when reading many rows from `system.zookeeper`, allow showing intermediate progress (how many rows have been read so far) and avoid hitting connection timeout when result set is big. (). Now dashboard understands both compressed and uncompressed state of URL's #hash (backward compatibility). Continuation of . (). Bumped Intel QPL (used by codec `DEFLATEQPL`) from v1.3.1 to v1.4.0 . Also fixed a bug for polling timeout mechanism, as we observed in same cases timeout won't work properly, if timeout happen, IAA and CPU may process buffer concurrently. So far, we'd better make sure IAA codec status is not QPLSTSBEINGPROCESSED, then fallback to SW codec. (). Keeper improvement: reduce size of data node even more. (). Do not show a warning about the server version in ClickHouse Cloud because ClickHouse Cloud handles seamless upgrades automatically. (). After self-extraction temporary binary is moved instead copying. (). Fix stack unwinding on MacOS. This closes . (). Check for stack overflow in parsers even if the user misconfigured the `maxparserdepth` setting to a very high value. This closes . (). Perform synchronous inserts if dependent MV deduplication is enabled through deduplicateblocksindependentmaterialized_views=1. (). Added settings `splitpartsrangesintointersectingandnonintersectingfinal` and `splitintersectingpartsrangesintolayersfinal`. This settings are needed to disable optimizations for queries with `FINAL` and needed for debug only. (). Unify xml and sql created named collection behaviour in kafka storage. (). In case when `mergemaxblocksizebytes` is small enough and tables contain wide rows (strings or tuples) background merges may stuck in an endless loop. This behaviour is fixed. Follow-up for https://github.com/ClickHouse/ClickHouse/pull/59340. (). Allow uuid in replica_path if CREATE TABLE explicitly has it.

Add column `metadata_version` of ReplicatedMergeTree table in `system.tables` system table. (). Keeper improvement: send only Keeper related metrics/events for Prometheus. (). The dashboard will display metrics across different ClickHouse versions even if the structure of system tables has changed after the upgrade. (). Allow loading AZ info from a file. (). Keeper improvement: add retries on failures for Disk related operations. (). Add new config setting `backups.removebackupfilesafterfailure`: ``` <clickhouse> <backups> <removebackupfilesafterfailure>true</removebackupfilesafterfailure> </backups> </clickhouse> ```. (). Use multiple threads while reading the metadata of tables from a backup while executing the RESTORE command. (). Now if `StorageBuffer` has more than 1 shard (`num_layers` > 1) background flush will happen simultaneously for all shards in multiple threads. (). Support specifying users for specific S3 settings in config using `user` key. (). Copy S3 file GCP fallback to buffer copy in case GCP returned `Internal Error` with `GATEWAY_TIMEOUT` HTTP error code. (). Implement comparison operator for Variant values and proper Field inserting into Variant column. Don't allow creating `Variant` type with similar variant types by default (allow uder a setting `allowsuspiciousvariant_types`) Closes . Closes . (). Short circuit execution for `ULIDStringToDateTime`. (). Added `queryid` column for tables `system.backups` and `system.backuplog`. Added error stacktrace to `error` column. (). Connections through the MySQL port now automatically run with setting `prefercolumnnametoalias = 1` to support QuickSight out-of-the-box. Also, settings `mysqlmapstringtotextinshowcolumns` and `mysqlmapfixedstringtotextinshow_columns` are now enabled by default, affecting also only MySQL connections. This increases compatibility with more BI tools. (). When output format is Pretty format and a block consists of a single numeric value which exceeds one million, A readable number will be printed on table right. e.g. ``` count() 233765663884 -- 233.77 billion ```. (). Fix a race condition in JavaScript code leading to duplicate charts on top of each other. (). Check for stack overflow in parsers even if the user misconfigured the `maxparserdepth` setting to a very high value. This closes . (). Added builds and tests with coverage collection with introspection. Continuation of . (). Include `pytest-reportlog` in integration test CI runner Dockerfile to enable JSON test reports. (). Update the rust toolchain in `corrosion-cmake` when the CMake cross-compilation toolchain variable is set. (). Add some fuzzing to ASTLiterals. (). If you want to run initdb scripts every time when ClickHouse container is starting you shoud initialize environment varible CLICKHOUSEALWAYSRUNINITDBSCRIPTS. (). Remove ability to disable generic clickhouse components (like server/client/...), but keep some that requires extra libraries (like ODBC or keeper). (). Query fuzzer will fuzz SETTINGS inside queries. (). Add test that validates projections still work after attach partition. (). Add test that validates attach partition fails if structure differs because of materialized column. (). Add support for building ClickHouse with clang-19 (master). (). Speedup check-whitespaces check. (). Non ready set in TTL WHERE. (). Fix quantilesGK bug (). Disable parallel replicas JOIN with CTE (not analyzer) (). Fix bug with `intDiv` for decimal arguments (). Fix translate() with FixedString input (). Fix digest calculation in Keeper (). Fix stacktraces for binaries without debug symbols (). Fix `ASTAlterCommand::formatImpl` in case of column specific settings (). Fix `SELECT FROM (). Fix possible uncaught exception during distributed query cancellation (). Make MAX use the same rules as permutation for complex types (). Fix corner case when passing `updateinsertdeduplicationtokenindependentmaterialized_views` (). Fix incorrect result of arrayElement / map (). Fix crash in topK when merging empty states (). Fix distributed table with a constant sharding key (). Fixkqlissuefoundby_wingfuzz

Fix error "Read beyond last offset" for AsynchronousBoundedReadBuffer (). Maintain function alias in RewriteSumFunctionWithSumAndCountVisitor (). Fix query start time on non initial queries (). Validate types of arguments for `minmax` skipping index (). Fix leftPad / rightPad function with FixedString input (). Fix AST fuzzer issue in function `countMatches` (). rabbitmq: fix having neither acked nor nacked messages (). Fix StorageURL doing some of the query execution in single thread (). s3queue: fix uninitialized value (). Fix parsing of partition expressions surrounded by parens (). Fix crash in JSONColumnsWithMetadata format over http (). Do not rewrite sum() to count() if return value differs in analyzer (). UniqExactSet read crash fix (). ReplicatedMergeTree invalid metadata_version fix (). Fix data race in `StorageDistributed` (). Run init scripts when option is enabled rather than disabled (). Fix scale conversion for DateTime64 (). Fix INSERT into SQLite with single quote (by escaping single quotes with a quote instead of backslash) (). Fix several logical errors in arrayFold (). Fix optimizeuniqto_count removing the column alias (). Fix possible exception from s3queue table on drop (). Fix formatting of NOT with single literals (). Use maxquerysize from context in DDLLogEntry instead of hardcoded 4096 (). Fix inconsistent formatting of queries (). Fix inconsistent formatting of explain in subqueries (). Fix cosineDistance crash with Nullable (). Allow casting of bools in string representation to to true bools (). Fix system.s3queue_log (). Fix arrayReduce with nullable aggregate function name (). Fix actions execution during preliminary filtering (PK, partition pruning) (). Hide sensitive info for s3queue (). Revert "Replace `ORDER BY ALL` by `ORDER BY `" (). Fix http exception codes. (). s3queue: fix bug (also fixes flaky teststorages3queue/test.py::testshards_distributed) (). Fix use-of-uninitialized-value and invalid result in hashing functions with IPv6 (). Fix OptimizeDateOrDateTimeConverterWithPreimageVisitor with null arguments (). Merging . (). Correctly check keys in s3Cluster (). ... (). ... (). Arm and amd docker build jobs use similar job names and thus overwrite job reports - aarch64 and amd64 suffixes added to fix this. (). ... (). BUG: build job can report success cache record on failed build Add a check relying on job report fail. (). NO CL ENTRY: 'Revert "Revert "Add new aggregation function groupArraySorted()""'. (). NO CL ENTRY: 'Revert "Update libxml2 version to address some bogus security issues"'. (). NO CL ENTRY: 'Revert "Poco Logger small refactoring"'. (). NO CL ENTRY: 'Revert "Revert "Poco Logger small refactoring""'. (). NO CL ENTRY: 'Revert "MergeTree FINAL optimization diagnostics and settings"'. (). NO CL ENTRY: 'Revert "Use `MergeTree` as a default table engine"'. (). NO CL ENTRY: 'Revert "Rename a setting"'. (). NO CL ENTRY: 'Revert "Less error prone interface of read buffers"'. (). NO CL ENTRY: 'Revert "Update version_date.tsv and changelogs after v24.1.4.19-stable"'. (). NO CL ENTRY: 'Revert "ReplicatedMergeTree invalid metadata_version fix"'. (). NO CL ENTRY: 'Revert "Revert "ReplicatedMergeTree invalid metadata_version fix""'. (). NO CL ENTRY: 'Revert "Implement system.dns_cache table"'. (). NO CL ENTRY: 'Revert "Restriction for the access key id for s3."'. (). NO CL ENTRY: 'Revert "Do not retry queries if container is down in integration tests"'. (). NO CL ENTRY: 'Revert "Check stack size in Parser"'. (). NO CL ENTRY: 'Revert "Support resource request canceling"'. (). NO CL ENTRY: 'Revert "Add definers for views"'. (). NO CL ENTRY: 'Update build-osx.md'. (). NO CL ENTRY: 'Revert "Fix: IAST::clone() for RENAME"'. (). NO CL ENTRY: 'Revert "Add table function `mergeTreeIndex`"'.

NO CL ENTRY: 'Revert "Userspace page cache"'. (). NO CL ENTRY: 'Revert "Analyzer: compute ALIAS columns right after reading"'. (). Analyzer: support aliases and distributed JOINs in StorageMerge (). Userspace page cache (). Simplify optimize-push-to-prewhere from query plan (). Create ch/chc/chl symlinks by cmake as well (for develop mode) (). CI: ci cache. step 1 (). Enable building JIT with UBSAN (). Support resource request canceling (). Analyzer: Do not resolve remote table id on initiator (). Analyzer: Add cast for ConstantNode from constant folding (). Fix the default value of `asyncinsertmaxdatasize` in EN document (). CI: Add ARM integration tests (). Fix getting filename from read buffer wrappers (). Update AWS SDK to 1.11.234 (). Split `ISlotControl` from `ConcurrencyControl` (). Some small fixes for docker images (). CI: bugfix-validate, integration, functional test scripts updates (). MaterializedMySQL: Fix gtidafterattach_test to retry on detach (). Poco Logger small refactoring (). Add sanity checks for function return types (). Cleanup connection pool surroundings (). Fix ARRAY JOIN with subcolumns (). Update curl submodule to be version 8.50 to address the irrelevant CVE-2023-46218 and CVE-2023-49219, which we don't care about at all. (). Update libxml2 version to address some bogus security issues (). Update version after release (). Job names (). CI: fix status and report for docker server jobs (). Update version_date.tsv and changelogs after v24.1.1.2048-stable (). Forward declaration for PeekableReadBuffer (). Progress bar: use FQDN to differentiate metrics from different hosts (). Fix test teststopotherhostduring_backup (). Update run.sh (). Post a failure status if can not run the CI (). Safer Rust (catch panic with catch_unwind()) (). More parallel insert-select pipeline (). CLion says these headers are unused (). Fix 02720rowpolicycolumnwith_dots (). Fix problem detected by UBSAN (). Analyzer: Fix denny_crane (). Fix `00191aggregatingmergetreeand_final` (). Avoid running all checks when `aspell-dict.txt` was changed (). Fixes for binary.html (). Parallel replicas: better initial replicas failover (2) (). Update version_date.tsv and changelogs after v24.1.2.5-stable (). Update version_date.tsv and changelogs after v23.12.3.40-stable (). Update version_date.tsv and changelogs after v23.11.5.29-stable (). Update memory tracker periodically with cgroup memory usage (). Remove a scary message if an error is retryable (). Update the peter-evans/create-pull-request action to v6 (). Fix usage of StatusType (). Analyzer fix testselectaccessrights/testmain.py::testselectcount (). GRPCServer: do not call value() on empty optional query_info (). Use ConnectionPoolPtr instead of raw pointer (). Fix data race with `AggregatedDataVariants` (). Refactoring of dashboard state encoding (). CI: ci_cache, enable await (). Bump libssh to 0.9.8 (). MultiVersion use mutex (). Fix aws submodule reference (). Add missed #include <bit> and <exception> (). CI: nightly job to update latest docker tag only (). Analyzer: compute ALIAS columns right after reading (). Add another sanity check for function return types (). Update README.md (). Updated a list of trusted contributors (). CI: fix ast fuzzer job report (slack bot issue) (). MergeTree FINAL optimization diagnostics and settings (). Fix default path when path is not specified in config (). Follow up for (). Pin python dependencies in stateless tests (). Unquote FLAG_LATEST to fix issue with empty argument (). Temporarily remove a feature that doesn't work (). ConnectionEstablisher: remove unused is_finished (). Add test for increase-always autoscaling lambda (). Remove SourceWithKeyCondition from ReadFromStorageStep (). Make ZooKeeper actually sequentialy consistent (). Add assertions around FixedString code (). Fix skipping unused shards with analyzer (). Fix DB type check - now it'll refuse to create in Replicated databases (). Analyzer: Fix

(). Fix dashboard params default values (). Fix logical optimizer with LowCardinality in new analyzer (). Update libuv (). Followup (). CI: ci test await (). Better logging for adaptive async timeouts (). Fix broken youtube embedding in ne-tormozit.md (). Hide URL/S3 'headers' argument in SHOW CREATE (). Fix special build reports in release branches (). CI: do not reuse builds on release branches (). Update version_date.tsv and changelogs after v24.1.3.31-stable (). Update version_date.tsv and changelogs after v23.12.4.15-stable (). Analyzer: fix testaccessforfunctions/test.py::testaccessrightsfor_function (). Analyzer: Fix testwrongdbortablename/test.py::testwrongtablename (). CI: await tune ups (). Enforce tests with enabled analyzer in CI (). Handle different timestamp related aspects of zip-files (). Fix settings history azuremaxsinglepartcopy_size (). Updated a list of trusted contributors (). Add check for recursiveRemoveLowCardinality() (). Better warning for disabled kernel.task_delayacct (). Reintroduce 02590interservermodeclientinfoinitialquerystarttime (). Respect CMAKEOSXDEPLOYMENT_TARGET for Rust targets (). Do not reinitialize ZooKeeperWithFaultInjection on each chunk (). Fix: check if std::function is set before calling it (). Fix long shutdown of FileLog storage (). tests: fix 02322sqlinsert_format flakiness (). Follow up for . Cleanup. (). CI: Fix job failures due to jepsen artifacts (). Add test 02988joinusingprewherepushdown (). Do not pull mutations if pulling replication log had been stopped (). Fix `02982commentsinsystemtables` (). Refactor Squashing for inserts. (). Do not rebuild a lambda package if it is updated (). Fix self-extracting: macOS doesn't allow to run renamed executable - copy instead (). Update tests with indexHint for analyzer. (). Petite cleanup around macros and ReplicatedMergeTree (). Fix: absence of closing record in query_log for failed insert over http (). Decrease logging level for http retriable errors to Warning (and fix 00157cachedictionary flakiness) (). Remove `testdistributedbackward_compatability` (). Commands node args should add rvalue to push_back to reduce object copy cost (). tests: fix 02981verticalmergesmemoryusage flakiness (). Analyzer: Update broken integration tests list (). CI: integration tests to mysql80 (). Register StorageMergeTree exception message fix (). Replace lambdas with pointers to members to simplify stacks (). Analyzer: Fix testuserdefinedobjectpersistence (). Analyzer: Fix testmutationswithmergetree (). Cleanups (). Update version_date.tsv and changelogs after v24.1.4.19-stable (). Less conflicts (). We don't have external dictionaries from Aerospike (). Fix max num to warn message (). Analyzer: Fix testsettingsprofile (). Update version_date.tsv and changelogs after v24.1.4.20-stable (). Analyzer: Fix teststoragerabbitmq (). Analyzer: Fix testshardlevelconstfunction (). Add newlines to SettingsChangesHistory to maybe have less conflicts (). Remove context from comparison functions. (). Update version_date.tsv and changelogs after v24.1.5.6-stable (). Fix mark release ready (). Revert "Insert synchronously if dependent MV deduplication is enabled" (). Fix obviously wrong (but non significant) error in dictionaries (). Inhibit randomization in some tests (). The code should not be complex (). Exclude test run from a slow build (). Fix broken lambdas formatting (). Verify formatting consistency on the server-side (). Analyzer: Fix testsqluserdefinedfunctionsoncluster (). Fix 02981verticalmergesmemoryusage with SharedMergeTree (). Fix 01656testquerylogfactories_info with analyzer. (). Ability to detect undead ZooKeeper sessions (). Disable tests with coverage (). Print CPU flags at startup (). Cleanup: less confusion between config priority and balancing priority in connection pools (). Temporary table already exists exception message fix (). Refactor prewhere and primary key optimization (). Bump curl to version 4.6.0 (). Check wrong abbreviations (). Remove the check for formatting consistency from the Fuzzer (). Avoid overflow in settings (). A small preparation for better handling of primary key in memory (). Move threadPoolCallbackRunner to the "Common" folder

Speed up the CI (). Insignificant changes (). Do not retry queries if container is down in integration tests (). Better check for inconsistent formatting (). skip printing meaningless log (). Implement TODO (). Fix bad log message (). Fix data race in `IMergeTreeDataPart` (). Add new setting to changes history (). Analyzer: fix row level filters with PREWHERE + additional filters (). Tests: query log for inserts over http (). Fix build in master (). Add setting history check to stateless tests (). Mini cleanup of CPUID.h (). Fix: custom key failover test flakiness (). Skip sanity checks on secondary CREATE query (). Remove extensively aggressive check (). Fix wrong message during compilation (). Add a test for (). Add test for 59437 (). CI: hot fix for gh statuses (). Limit libarchive format to what we use (). Fix bucket region discovery (). Fix `testbackuprestores3/test.py::testuserspecificauth` (). CI: combine analyzer, s3, dbreplicated into one job (). Slightly better Keeper loading from snapshot (). Fix: IAST::clone() for RENAME (). Treat 2+ in allowexperimentalparallelreadingfrom_replicas as 2 (). CI: random job pick support (). Fix analyzer - hide arguments for secret functions (). Backups delete suspicious file (). CI: random sanitizer for parallel repl in PR wf (). CI: use aarch runner for runconfig job (). Add test for 60232 (). Make cloud sync required (). Tests from (). Remove bad check in Keeper (). Fix integration `testbackuprestore_s3` (). Ignore valid 'No such key errors' in stress tests (). Stress test: Include the first sanitizer block message in the report (). Update analyzertechdebt.txt (). Minor fixes for hashed dictionary (). Install tailscale during AMI build and set it up on runners (). CI: remove Integration tests asan and release from PR wf (). Fix - analyzer related - "executable" function subquery arguments. (). Update settings.md to correct the description for setting `maxconcurrentqueriesforuser` (). Fix rapidjson submodule (). Validate experimental and suspicious types inside nested types under a setting (). Update 01158zookeeperlog_long.sql (). Add missed #include <mutex> (). Follow up (). Remove ALTER LIVE VIEW (). Detect io_uring in tests (). Expose fatal.log separately for fuzzer (). Minor changes for dashboard (). Remove unused method (). Allow to map UI handlers to different paths (). Remove old tags from integration tests (). Update `liburing` to 2.5 (). Fix undefined-behavior in case of too big maxexecutiontime setting (). Fix wrong log message in Fuzzer (). Fix unrestricted reads from keeper (). Split updatemergeablecheck into two functions to force trigger the status (). Revert "Revert "Add table function `mergeTreeIndex`"" (). Revert "Merge pull request from ClickHouse/broken-projections-better-handling" (). Keeper: fix moving changelog files between disks (). Replace deprecated distutils by vendored packaging (). Do not fail the build if ci-logs is not healthy (). Move setting `enableorderby_all` out of the experimental setting section (). Minor: Replace `boost::algorithm::startswith()` by `std::string::startswith()` (). Minor: Replace boost::algorithm::endswith() by std::string::endswith() (). CI: remove input params for job scripts (). Fix: 02496removeredundantsortinganalyzer (). PR template fix to include ci fix category (). Reduce iterations in 01383logbroken_table (). Merge (). Fix bad test: looks like an obvious race condition, but I didn't check in detail. (). Make test slower (). Fix cgroups v1 rss parsing in CgroupsMemoryUsageObserver (). CI: fix pr check status to not fail mergeable check (). Report respects skipped builds (). CI: quick style fix (). Decrease logging level for http retriable errors to Info (). Remove broken test while we fix it ().