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

sidebar_position: 1 sidebar_label: 2024 Don't allow to set maxparallelreplicas to 0 as it doesn't make sense. Setting it to 0 could lead to unexpected logical errors. Closes . (). Change the column name from `durationms` to `durationmicroseconds` in the `system.zookeeper` table to reflect the reality that the duration is in the microsecond resolution. (). Reject incoming INSERT queries in case when query-level settings `asyncinsert` and `deduplicateblocksindependentmaterializedviews` are enabled together. This behaviour is controlled by a setting `throwifdeduplicationindependentmaterializedviewsenabledwithasyncinsert` and enabled by default. This is a continuation of https://github.com/ClickHouse/ClickHouse/pull/59699 needed to unblock https://github.com/ClickHouse/ClickHouse/pull/59915. (). Utility `clickhouse-copier` is moved to a separate repository on GitHub: https://github.com/ClickHouse/copier. It is no longer included in the bundle but is still available as a separate download. This closes: This closes: This closes: This closes: This closes: This closes: This closes: This closes: This closes: This closes: This closes: This closes: This closes: ### Documentation entry for user-facing changes. (). To increase compatibility with MySQL, function `locate` now accepts arguments `(needle, haystack (). The obsolete in-memory data parts have been deprecated since version 23.5 and have not been supported since version 23.10. Now the remaining code is removed. Continuation of and . It is unlikely that you have used in-memory data parts because they were available only before version 23.5 and only when you enabled them manually by specifying the corresponding SETTINGS for a MergeTree table. To check if you have in-memory data parts, run the following query: `SELECT parttype, count() FROM system.parts GROUP BY parttype ORDER BY parttype`. To disable the usage of in-memory data parts, do `ALTER TABLE ... MODIFY SETTING minbytesforcompactpart = DEFAULT, minrowsforcompact_part = DEFAULT`. Before upgrading from old ClickHouse releases, first check that you don't have in-memory data parts. If there are in-memory data parts, disable them first, then wait while there are no in-memory data parts and continue the upgrade. (). Forbid `SimpleAggregateFunction` in `ORDER BY` of `MergeTree` tables (like `AggregateFunction` is forbidden, but they are forbidden because they are not comparable) by default (use `allowsuspiciousprimary_key` to allow them). (). ClickHouse allows arbitrary binary data in the String data type, which is typically UTF-8. Parquet/ORC/Arrow Strings only support UTF-8. That's why you can choose which Arrow's data type to use for the ClickHouse String data type - String or Binary. This is controlled by the settings, `outputformatparquetstringasstring`, `outputformatorcstringasstring`, `outputformatarrowstringasstring`. While Binary would be more correct and compatible, using String by default will correspond to user expectations in most cases. Parquet/ORC/Arrow supports many compression methods, including lz4 and zstd. ClickHouse supports each and every compression method. Some inferior tools lack support for the faster `lz4` compression method, that's why we set `zstd` by default. This is controlled by the settings `outputformatparquetcompressionmethod`, `outputformatorccompressionmethod`, and `outputformatarrowcompression_method`. We changed the default to `zstd` for Parquet and ORC, but not Arrow (it is emphasized for low-level usages). (). In the new ClickHouse version, the functions `geoDistance`, `greatCircleDistance`, and `greatCircleAngle` will use 64-bit double precision floating point data type for internal calculations and return type if all the arguments are Float64. This closes . In previous versions, the function always used Float32. You can switch to the old behavior by setting `geodistancereturnsfloat64onfloat64arguments` to `false` or setting `compatibility` to `24.2` or earlier. (). Topk/topkweighed support mode, which return count of values and it's error. (). Add generate_series as a table function. This function generates table with an arithmetic progression with natural numbers. (). Support reading and writing backups as tar archives. (). Implemented support for S3Express

(). Allow to attach parts from a different disk attach partition from the table on other disks using copy instead of hard link (such as instant table) * attach partition using copy when the hard link fails even on the same disk. (). Added function `toMillisecond` which returns the millisecond component for values of type`DateTime` or `DateTime64`. (). Make all format names case insensitive, like Tsv, or TSV, or tsv, or even rowbinary. (). Add four properties to the `StorageMemory` (memory-engine) `minbytestokeep, maxbytestokeep, minrowstokeep` and `maxrowstokeep` - Add tests to reflect new changes - Update `memory.md` documentation - Add table `context` property to `MemorySink` to enable access to table parameter bounds. (). Added function `toMillisecond` which returns the millisecond component for values of type`DateTime` or `DateTime64`. (). Separate limits on number of waiting and executing queries. Added new server setting `maxwaitingqueries` that limits the number of queries waiting due to `asyncloaddatabases`. Existing limits on number of executing queries no longer count waiting queries. (). Add support for `ATTACH PARTITION ALL`. (). Add a new function, `getClientHTTPHeader`. This closes . Co-authored with @lingtaolf. (). Improve the performance of serialized aggregation method when involving multiple that doesn't compromise on abstraction integrity. (). Lazy build join output to improve performance of ALL join. (). Improvements to aggregate functions ArgMin / ArgMax / any / anyLast / anyHeavy, as well as `ORDER BY {u8/u16/u32/u64/i8/i16/u32/i64) LIMIT 1` queries. (). Trivial optimize on column filter. Avoid those filter columns whoes underlying data type is not number being filtered with `resultsizehint = -1`. Peak memory can be reduced to 44% of the original in some cases. (). If the table's primary key contains mostly useless columns, don't keep them in memory. This is controlled by a new setting `primarykeyratioofuniqueprefixvaluestoskipsuffixcolumns` with the value `0.9` by default, which means: for a composite primary key, if a column changes its value for at least 0.9 of all the times, the next columns after it will be not loaded. (). Execute multiIf function columnarly when result_type's underlying type is number. (). Faster (almost 2x) mutexes (was slower due to ThreadFuzzer). (). Move connection drain from prepare to work, and drain multiple connections in parallel. (). Optimize insertManyFrom of nullable number or nullable string. (). Optimized function `dotProduct` to omit unnecessary and expensive memory copies. (). Operations with the filesystem cache will suffer less from the lock contention. (). Optimize ColumnString::replicate and prevent memcpySmallAllowReadWriteOverflow15Impl from being optimized to built-in memcpy. Close . ColumnString::replicate speeds up by 2.46x on x86-64. (). 30x faster printing for 256-bit integers. (). If a query with a syntax error contained COLUMNS matcher with a regular expression, the regular expression was compiled each time during the parser's backtracking, instead of being compiled once. This was a fundamental error. The compiled regexp was put to AST. But the letter A in AST means "abstract" which means it should not contain heavyweight objects. Parts of AST can be created and discarded during parsing, including a large number of backtracking. This leads to slowness on the parsing side and consequently allows DoS by a readonly user. But the main problem is that it prevents progress in fuzzers. (). Add a new analyzer pass to optimize in single value. (). While running the MODIFY COLUMN query for materialized views, check the inner table's structure to ensure every column exists. (). Added table `system.keywords` which contains all the keywords from

Mostly needed and will be used for better fuzzing and syntax highlighting. (). Ordinary database engine is deprecated. You will receive a warning in clickhouse-client if your server is using it. This closes . (). All zero copy locks related to a table have to be dropped when the table is dropped. The directory which contains these locks has to be removed also. (). Allow declaring enum in external table structure. (). Consider lightweight deleted rows when selecting parts to merge. (). This PR makes http/https connections reusable for all uses cases. Even when response is 3xx or 4xx. (). Added comments for columns for more system tables. Continuation of https://github.com/ClickHouse/ClickHouse/pull/58356. (). Now we can use virtual columns in PREWHERE. It's worthwhile for non-const virtual columns like `partoffset`. (). Add ability to skip read-only replicas for INSERT into Distributed engine (Controlled with `distributedinsertskipreadonly_replicas` setting, by default OFF - backward compatible). (). Instead using a constant key, now object storage generates key for determining remove objects capability. (). Add positional pread in libhdfs3. If you want to call positional read in libhdfs3, use the hdfsPread function in hdfs.h as follows. `tSize hdfsPread(hdfsFS fs, hdfsFile file, void buffer, tSize length, tOffset position);`. (). Add asynchronous WriteBuffer for AzureBlobStorage similar to S3. (). Allow "local" as object storage type instead of "localblobstorage". (). Improved overall usability of virtual columns. Now it is allowed to use virtual columns in `PREWHERE` (it's worthwhile for non-const virtual columns like `partoffset`). Now a builtin documentation is available for virtual columns as a comment of column in `DESCRIBE` query with enabled setting `describeincludevirtual_columns`. (). Parallel flush of pending INSERT blocks of Distributed engine on `DETACH`/server shutdown and `SYSTEM FLUSH DISTRIBUTED` (Parallelism will work only if you have multi disk policy for table (like everything in Distributed engine right now)). (). Filter setting is improper in `joinRightColumnsSwitchNullability`, resolve . (). Add a setting to force read-through cache for merges. (). Issue mentions a variant behaviour regarding transaction handling. An issued COMMIT/ROLLBACK when no transaction is active is reported as an error contrary to MySQL behaviour. (). Added `noneonlyactive` mode for `distributedddloutput_mode` setting. (). Allow configuring HTTP redirect handlers for clickhouse-server. For example, you can make `/` redirect to the Play UI. (). The advanced dashboard has slightly better colors for multi-line graphs. (). Function `substring` now has a new alias `byteSlice`. (). Renamed server setting `dnscachemaxsize` to `dnscachemaxentries` to reduce ambiguity. (). `SHOW INDEX | INDEXES | INDICES | KEYS` no longer sorts by the primary key columns (which was unintuitive). (). Keeper improvement: abort during startup if an invalid snapshot is detected to avoid data loss. (). Added MergeTree read split ranges into intersecting and non intersecting fault injection using `mergetreereadsplitrangesintointersectingandnonintersectingfault_probability` setting. (). The Advanced dashboard now has controls always visible on scrolling. This allows you to add a new chart without scrolling up. (). String types and Enums can be used in the same context, such as: arrays, UNION queries, conditional expressions. This closes . (). Update tzdata to 2024a. (). Support files without format extension in Filesystem database. (). Keeper improvement: support `leadershipexpiryms` in Keeper's settings. (). Always infer exponential numbers in JSON formats regardless of the setting `inputformattryinferexponentfloats`. Add setting `inputformatjsonusestringtypeforambiguouspathsinnamedtuplesinferencefrom_objects` that allows to use String type for ambiguous paths instead of an exception during named Tuples inference from JSON objects. (). Add support for `START TRANSACTION` syntax typically used in MySQL syntax, resolving https://github.com/ClickHouse/ClickHouse/discussions/60865. (). Add a flag for SMJ to treat null as

So the behavior can be compitable with other SQL systems, like Apache Spark. (). Clickhouse version has been added to docker labels. Closes . (). Add a setting `parallelreplicasallowinwith_subquery = 1` which allows subqueries for IN work with parallel replicas. (). DNSResolver shuffles set of resolved IPs. (). Support detect output format by file exctension in `clickhouse-client` and `clickhouse-local`. (). Check memory limit update periodically. (). Enable processors profiling (time spent/in and out bytes for sorting, aggregation, ...) by default. (). Add the function `toUInt128OrZero`, which was missed by mistake (the mistake is related to https://github.com/ClickHouse/ClickHouse/pull/945). The compatibility aliases `FROMUNIXTIME` and `DATEFORMAT` (they are not ClickHouse-native and only exist for MySQL compatibility) have been made case insensitive, as expected for SQL-compatibility aliases. (). Improvements for the access checks, allowing to revoke of unpossessed rights in case the target user doesn't have the revoking grants either. Example: ```sql GRANT SELECT ON . TO user1; REVOKE SELECT ON system. FROM user1;. (). Fix an error in previeous opt: https://github.com/ClickHouse/ClickHouse/pull/59698: remove break to make sure the first filtered column has minimum size cc @jsc0218. (). Fix `has()` function with `Nullable` column (fixes ). (). Now it's possible to specify attribute `merge="true"` in config substitutions for subtrees `<include from_zk="/path" merge="true">`. In case this attribute specified, clickhouse will merge subtree with existing configuration, otherwise default behavior is append new content to configuration. (). Add async metrics for virtual memory mappings: VMMaxMapCount & VMNumMaps. Closes . (). Use `temporaryfilescodec` setting in all places where we create temporary data, for example external memory sorting and external memory GROUP BY. Before it worked only in `partial_merge` JOIN algorithm. (). Remove duplicated check `containing_part.empty()`, It's already being checked here: https://github.com/ClickHouse/ClickHouse/blob/1296dac3c7e47670872c15e3f5e58f869e0bd2f2/src/Storages/MergeTree/MergeTreeData.cpp#L6141. (). Add a new setting `maxparserbacktracks` which allows to limit the complexity of query parsing. (). Support parallel reading for azure blob storage. (). Less contention during dynamic resize of filesystem cache. (). Disallow sharded mode of StorageS3 queue, because it will be rewritten. (). Fixed typo: from `useleagcymaxlevel` to `uselegacymaxlevel`. (). Remove some duplicate entries in blobstoragelog. (). Enable `allowexperimentalanalyzer` setting by default. (). Added `current_user` function as a compatibility alias for MySQL. (). Use managed identity for backups IO when using Azure Blob Storage. Add a setting to prevent ClickHouse from attempting to create a non-existent container, which requires permissions at the storage account level. (). Enable `outputformatprettyrownumbers` by default. It is better for usability. (). In the previous version, some numbers in Pretty formats were not pretty enough. (). A long value in Pretty formats won't be cut if it is the single value in the resultset, such as in the result of the `SHOW CREATE TABLE` query. (). Similarly to `clickhouse-local`, `clickhouse-client` will accept the `--output-format` option as a synonym to the `--format` option. This closes . (). If stdout is a terminal and the output format is not specified, `clickhouse-client` and similar tools will use `PrettyCompact` by default, similarly to the interactive mode. `clickhouse-client` and `clickhouse-local` will handle command line arguments for input and output formats in a unified fashion. This closes . (). Underscore digit groups in Pretty formats for better readability. This is controlled by a new setting, `outputformatprettyhighlightdigit_groups`. (). Add ability to override initial INSERT SETTINGS via SYSTEM FLUSH DISTRIBUTED. (). Fixed grammar from "a" to "the" in the warning message. There is only one Atomic engine, so it should be "to the new Atomic engine" instead of "to a new Atomic engine".

Update sccache to the latest version; significantly reduce images size by reshaking the dependency trees; use the latest working odbc driver. (). Update python related style checkers. Continue the . (). Upgrade `prqlc` to 0.11.3. (). Attach gdb to running fuzzer process. (). Use explicit template instantiation more aggressively. Get rid of templates in favor of overloaded functions in some places. (). The real-time query profiler now works on AArch64. In previous versions, it worked only when a program didn't spend time inside a syscall. (). ... Too big translation unit in `Aggregator`. (). Fixed flakiness of 01603insertselecttoomany_parts test. Closes . (). Now it possible to use `chassert(expression, comment)` in the codebase. (). Teach the fuzzer to use other numeric types. (). Increase memory limit for coverage builds. (). Add generic query text fuzzer in `clickhouse-local`. (). Fix function execution over const and LowCardinality with GROUP BY const for analyzer (). Fix finishedmutationsto_keep=0 for MergeTree (as docs says 0 is to keep everything) (). PartsSplitter invalid ranges for the same part (). Azure Blob Storage : Fix issues endpoint and prefix (). fix LRUResource Cache bug (Hive cache) (). Force reanalysis if parallel replicas changed (). Fix usage of plain metadata type with new disks configuration option (). Try to fix logical error 'Cannot capture column because it has incompatible type' in mapContainsKeyLike (). Try to avoid calculation of scalar subqueries for CREATE TABLE. (). Fix deadlock in parallel parsing when lots of rows are skipped due to errors (). Fixmaxquerysizeforkqlcompound_operator: (). Keeper fix: add timeouts when waiting for commit logs (). Reduce the number of read rows from `system.numbers` (). Don't output number tips for date types (). Fix reading from MergeTree with non-deterministic functions in filter (). Fix logical error on bad compatibility setting value type (). Fix inconsistent aggregate function states in mixed x86-64 / ARM clusters (). fix(prql): Robust panic handler (). Fix `intDiv` for decimal and date arguments (). Fix: expand CTE in alter modify query (). Fix system.parts for non-Atomic/Ordinary database engine (i.e. Memory) (). Fix "Invalid storage definition in metadata file" for parameterized views (). Fix buffer overflow in CompressionCodecMultiple (). Remove nonsense from SQL/JSON (). Remove wrong sanitize checking in aggregate function quantileGK (). Fix insert-select + insertdeduplicationtoken bug by setting streams to 1 (). Prevent setting custom metadata headers on unsupported multipart upload operations (). Fix toStartOfInterval (). Fix crash in arrayEnumerateRanked (). Fix crash when using input() in INSERT SELECT JOIN (). Fix crash with different allowexperimentalanalyzer value in subqueries (). Remove recursion when reading from S3 (). Fix possible stuck on error in HashedDictionaryParallelLoader (). Fix async RESTORE with Replicated database (). fix csv format not support tuple (). Fix deadlock in async inserts to `Log` tables via native protocol (). Fix lazy execution of default argument in dictGetOrDefault for RangeHashedDictionary (). Fix multiple bugs in groupArraySorted (). Fix Keeper reconfig for standalone binary (). Fix usage of session_token in S3 engine (). Fix possible incorrect result of aggregate function `uniqExact` (). Fix bugs in show database (). Fix logical error in RabbitMQ storage with MATERIALIZED columns (). Fix CREATE OR REPLACE DICTIONARY (). Fix crash in ObjectJson parsing array with nulls (). Fix ATTACH query with external ON CLUSTER (). Fix consecutive keys optimization for nullable keys (). fix issue of actions dag split (). Fix finishing a failed RESTORE (). Disable asyncinsertuseadaptivebusy_timeout correctly with compatibility settings (). Allow queuing in restore pool (). Fix bug when reading system.parts using UUID (issue 61220).

Fix ALTER QUERY MODIFY SQL SECURITY (). Fix crash in window view (). Fix `repeat` with non native integers (). Fix client `-s` argument (). Reset part level upon attach from disk on MergeTree (). Fix crash in arrayPartialReverseSort (). Fix string search with const position (). Fix addDays cause an error when used datetime64 (). disallow LowCardinality input type for JSONExtract (). Fix `system.part_log` for async insert with deduplication (). Fix Non-ready set for system.parts. (). Don't allow the same expression in ORDER BY with and without WITH FILL (). Fix actualpartname for REPLACE_RANGE (`Entry actual part isn't empty yet`) (). Fix columns after executing MODIFY QUERY for a materialized view with internal table (). Fix crash in `multiSearchAllPositionsCaseInsensitiveUTF8` for incorrect UTF-8 (). Fix RANGE frame is not supported for Nullable columns. (). Revert "Revert "Fix bug when reading system.parts using UUID (issue 61220)."" (). Decoupled changes from . (). Eliminates the need to provide input args to docker server jobs to clean yml files. (). Debug and fix markreleaseready. (). Fix buildreport job so that it's defined by ciconfig only (not yml file). (). Do not await ci pending jobs on release branches decrease wait timeout to fit into gh job timeout. (). Set limited number of builds for "special build check" report in backports. (). ... (). ... (). ... (). ... (). ... (). Just a preparation for the merge queue support. (). ... (). In PRs: - run typos, aspell check - always - run pylint, mypy - only if py file(s) changed in PRs - run basic source files style check - only if not all changes in py files. (). ... (). ... (). ... (). TBD. (). ... (). ... (). . (). ... (). NO CL ENTRY: 'Revert "Revert "Use `MergeTree` as a default table engine""'. (). NO CL ENTRY: 'Revert "Revert "Support resource request canceling""'. (). NO CL ENTRY: 'Revert "Add `toMillisecond` function"'. (). NO CL ENTRY: 'Revert "Synchronize parsers"'. (). NO CL ENTRY: 'Revert "Fix wacky primary key sorting in `SHOW INDEX`"'. (). NO CL ENTRY: 'Revert "CI: make style check faster"'. (). NO CL ENTRY: 'Revert "Don't allow to set maxparallelreplicas to 0 as it doesn't make sense"'. (). NO CL ENTRY: 'Revert "Fix usage of session_token in S3 engine"'. (). NO CL ENTRY: 'Revert "Revert "Fix usage of session_token in S3 engine""'. (). NO CL ENTRY: 'Reorder hidden and shown checks in comment, change url of Mergeable check'. (). NO CL ENTRY: 'Remove unnecessary layers from clickhouse/cctools'. (). NO CL ENTRY: 'Revert "Updated format settings references in the docs (datetime.md)"'. (). NO CL ENTRY: 'Revert "CI: ARM integration tests: disable tests with HDFS "'. (). NO CL ENTRY: 'Revert "Analyzer: Fix virtual columns in StorageMerge"'. (). NO CL ENTRY: 'Revert "Revert "Analyzer: Fix virtual columns in StorageMerge""'. (). NO CL ENTRY: 'Improve builddownloadhelper'. (). NO CL ENTRY: 'Revert "Un-flake `testundropquery`"'. (). NO CL ENTRY: 'Fix flaky tests (stateless, integration)'. (). NO CL ENTRY: 'Better usability of "expect" tests: less trouble with running directly'. (). NO CL ENTRY: 'Revert "Fix flaky `02122parallelformatting_Template`"'. (). NO CL ENTRY: 'Revert "Add --now option to enable and start the service" #jobInstallpackages_amd64'. (). NO CL ENTRY: 'Revert "disallow LowCardinality input type for JSONExtract"'. (). Improve query performance in case of very small blocks (). Analyzer: fixes for JOIN columns resolution (). Fix race on `Context::asyncinsertqueue` (). CI: support batch specification in commit message (). Update storing-data.md

Make maxinsertdelayedstreamsforparallelwrite actually work (). Analyzer: support join using column from select list (). test for (). Analyzer: Refactor execution name for ConstantNode (). Fix database iterator waiting code (). QueryCache: Don't acquire the query count mutex if not necessary (). Fix bugfix check (due to unknown commitlogscachesizethreshold) (). Enable testing with `io_uring` back (). Analyzer - improve hiding secret arguments. (). CI: make workflow yml abstract (). Improve test testreloadclusters_config (). Revert "Revert "Merge pull request from ClickHouse/broken-projections-better-handling"" (). Do not check to and from files existence in metadata_storage because it does not see uncommitted changes (). Fix option ambiguous in `clickhouse-local` (). Fix: testparallelreplicascustomkeyloadbalancing (). Fix: progress bar for Cluster table functions (). Analyzer: Support different ObjectJSON on shards (). Cancel PipelineExecutor properly in case of exception in spawnThreads (). Refactor StorageSystemOneBlock (). Simple cleanup while fixing progress bar (). PullingAsyncPipelineExecutor cleanup (). Fix bad error message (). Synchronize Access (). Synchronize metrics and Keeper (). Enforce clang-tidy in `programs/` and `utils/` headers (). Synchronize parsers (). Fix a bunch of clang-tidy warnings in headers (). General sanity in function `seriesOutliersDetectTukey` (). Update Chinese document for maxquerysize, maxparserdepth and optimizefunctionsto_subcolumns (). Userspace page cache again (). Traverse shadow directory for system.remotedatapaths (). Add test for (). Use python zipfile to have x-platform idempotent lambda packages (). tests: suppress data-race in librdkafka statistics code (). Update version after release (). Update version_date.tsv and changelogs after v24.2.1.2248-stable (). Addition to changelog (). internal: Refine rust prql code (). fix(rust): Fix skim's panic handler (). Resubmit "Analyzer: compute ALIAS columns right after reading" (). Analyzer: Fix bug with joinusenulls and PREWHERE (). Add test for (). Fix missed entries in system.part_log in case of fetch preferred over merges/mutations (). Always apply first minmax index among available skip indices (). Remove bad test `02152httpexternaltablesmemory_tracking` (). Fix questionable behavior in the `parseDateTimeBestEffort` function. (). Fix flaky checks (). Resubmit httpexternaltablesmemorytracking test (). Fix bugfix and upgrade checks (due to "Unknown handler type 'redirect'" error) (). Fix testgrantandrevoke/test.py::testgrantallon_table (after syncing with cloud) (). Remove unit test for ColumnObject (). Improve unit tests (). Fix scheduler fairness test (). Do not retry queries if container is down in integration tests (resubmit) (). Mark one setting as obsolete (). Fix a test with Analyzer (). Two tests are fixed with Analyzer (). Remove old code (). Remove more code from LIVE VIEW (). Fix `testkeeperbacktoback/test.py::testconcurrentwatches` (). Catch exceptions on finalize in `InterserverIOHTTPHandler` (). Reduce flakiness of 02932refreshablematerialized_views (). Use 64-bit capabilities if available (). Include multiline logs in fuzzer fatal.log report (). Add missing clone calls related to compression (). New private runners (). Move userspace page cache settings to the correct section of SettingsChangeHistory.h (). Update version_date.tsv and changelogs after v23.8.10.43-lts (). Fix fuzzer report (). Update version_date.tsv and changelogs after v23.3.20.27-lts (). Refactor OptimizeDateOrDateTimeConverterWithPreimageVisitor (). Fix race in PageCache (). Small changes in async inserts code (). Remove useless verbose logging from AWS library (). Throw on query timeout in ZooKeeperRetries (). Bring clickhouse-test changes from private (). Add debug info to exceptions in `IMergeTreeDataPart::checkConsistency()` (). Fix a typo (). Replace some header includes with forward declarations (). Speed up cctools building (). Fix ASTRenameQuery::clone (). Update README.md (). Fix TableFunctionExecutable::skipAnalysisForArguments (). Fix: parallel replicas with PREWHERE (ubsan) (). Fast fix tests. (). Fix `testplacementinfo` (). Fix: parallel replicas with CTEs, crash in EXPLAIN SYNTAX with analyzer (). Debug fuzzer failures (). Add regression tests for fixed issues (). Analyzer: Fix 01244optimizedistributedgroupbyshardingkey

Use global scalars cache with analyzer (). Fix removing is_active node after re-creation (). Update 02962systemsyncreplicalightweightfrommodifier.sh (). Simplify bridges (). update cppkafka to v0.4.1 (). CI: add wf class in ci_config (). QueryFuzzer: replace element randomly when AST part buffer is full (). CI: make style check fast (). Better gitignore (). Fix something strange (). Update check-large-objects.sh to be language neutral (). Throw memory limit exceptions to avoid OOM in some places (). Fix testdistributeddirectorymonitorsplitbatchon_failure flakienss (). Fix llvm symbolizer on CI (). Some clang-tidy fixes (). Revive "Less contention in the cache, part 2" (). Enable black back (). CI: fix nightly job issue (). Split `RangeHashedDictionary` (). Remove a few templates from Aggregator.cpp (). Avoid some logical errors in experimantal Object type (). Update ReadSettings.h (). CI: ARM integration tests: disable tests with HDFS (). Disable sanitizers with 02784parallelreplicasautomaticdecision_join (). Fix `02887mutationssubcolumns` test flakiness (). Make variant tests a bit faster (). Fix strange log message (). Fix 01603insertselecttoomany_parts flakiness (). Make every style-checker runner types scaling-out very quickly (). Improve `testfailedmutations` (). Fix `testmergetreeloadparts/test.py::testmergetreeloadparts_corrupted` (). fix `forget_partition` test (). Print more info in `02572systemlogsmaterializedviewsignoreerrors` to debug (). Fix runtime error in AST Fuzzer (). Add retries to `02908manyrequeststosystem_replicas` (). Followup fix ASTRenameQuery::clone (). Disable test 02998primarykeyskipcolumns.sql in sanitizer builds as it can be slow (). Update curl to curl with data race fix (). Fix `01417freezepartition_verbose` (). Free memory earlier in inserts (). Fixing testbuildsetsfrommultiplethreads/test.py::testset (). Analyzer: Fix virtual columns in StorageMerge (). Fix 01952optimizedistributedgroupbyshardingkey with analyzer. (). fix data race in poco tcp server (). Don't use default cluster in test testdistibutedsettings (). Fix false positive assertion in cache (). Fix test testinputformatparallelparsingmemorytracking (). Fix 01761casttoenumnullable with analyzer. (). Add zookeeper retries for exists check in forcefullyRemoveBrokenOutdatedPartFromZooKeeper (). Minor changes in stress and fuzzer reports (). Un-flake `testundropquery` (). Tiny improvement for replication.lib (). Fix bugfix check (due to "unknown object storage type: azure") (). Fix `01599multilineinputandsingleline_comments` 3 minute wait (). Terminate EC2 on spot event if runner isn't running (). Try fix docs check (). Fix `heap-use-after-free` for Merge table with alias (). Disable `optimizerewritesumiftocountif` if return type is nullable (new analyzer) (). Analyzer: Fix planner context for subquery in StorageMerge (). Fix `testfailedasync_inserts` (). Fix test testsystemclustersactualinformation flakiness (). Remove default cluster from default config from test config (). Enable clang-tidy in headers (). Add sanity check for pollmaxbatch_size FileLog setting (). ThreadFuzzer: randomize sleep time (). Update version_date.tsv and changelogs after v23.8.11.28-lts (). Update version_date.tsv and changelogs after v23.3.21.26-lts (). Update version_date.tsv and changelogs after v24.1.7.18-stable (). Update version_date.tsv and changelogs after v24.2.2.71-stable (). Update version_date.tsv and changelogs after v23.12.5.81-stable (). Restore automerge for approved PRs (). Disable broken SonarCloud (). Fix `01599multilineinputandsingleline_comments` properly (). Convert test 02998systemdnscachetable to smoke and mirrors (). Check boundaries for some settings in parallel replicas (). Use SHARDLOADQUEUE_BACKLOG for dictionaries in tests (). Split `02125lz4compression_bug` (). Correctly process last stacktrace in `postprocess-traces.pl` (). Fix test `testpolymorphicparts` (). A definitive guide to CAST (). Minor rename in FileCache (). Remove useless code (). Fix fuzzers (). Update jdbc.md (). Fix error in clickhouse-client (). Fix clang-tidy build (). Fix infinite loop in function `hop` (). Improve tests 00159_parallel_formatting_ to to avoid timeouts (). Refactoring of reading from compact parts (). Don't run 01459manualwritetoreplicas in debug build as it's too slow (). CI: ARM integration test - skip hdfs, kerberos, kafka (). More logging for loading of tables (). Fixing 01584distributedbuffercannotfind_column with analyzer.

Wait for done mutation with more logs and asserts (). Fix read_rows count with external group by (). queries-file should be used to specify file (). Fix `02481asyncinsertdeduptoken` (). Add a comment after (). Fix clickhouse-test client option and CLICKHOUSEURLPARAMS interference (). CI: remove compose files from integration test docker (). Fix 01244optimizedistributedgroupbyshardingkey by ordering output (). Remove some tests from analyzertechdebt (). Reduce header dependencies (). Remove some magic_enum from headers (). Fix configs for upgrade and bugfix (). Add tests for multiple fuzzer issues (). Try to fix `02908manyrequeststosystem_replicas` again (). Verbose error message about analyzercompatibilityjoinusingtoplevelidentifier (). Fix 00223sharddistributedaggregationmemory_efficient with analyzer (). Better fuzzer logs (). Fix flaky `02122parallelformatting_Template` (). Fix Aggregator when data is empty (). Restore poco SUN files (). Another fix for `SumIfToCountIfPass` (). Keeper: fix data race during snapshot destructor call (). CI: integration tests: use runner as py module (). Fix logging of autoscaling lambda, add test for effective_capacity (). Small change in `DatabaseOnDisk::iterateMetadataFiles()` (). Build improvements by removing magic enum from header and apply some explicit template instantiation (). Update the dictionary for OSSFuzz (). Inhibit randomization in some tests and exclude some long tests from debug runs (). Add a test for (). Fix use-of-uninitialized-value in HedgedConnections (). Remove clickhouse-diagnostics from the package (). Fix use-of-uninitialized-value in parseDateTimeBestEffort (). poco foundation: add illumos support (). contrib/c-ares: add illumos as a platform (). contrib/curl: Add illumos support (). Fuzzer: Try a different way to wait for the server (). Disable some tests for SMT (). Fix signal handler for sanitizer signals (). Avoid `IsADirectoryError: Is a directory contrib/azure` (). Analyzer: fix groupbyuse_nulls (). Analyzer: Clear list of broken integration tests (). CI: modify CI from PR body (). Add test for (). Revert "Revert "Un-flake testundropquery"" (). FunctionsConversion: Start simplifying templates (). CI: modify it (). Fix segfault in SquashingTransform (). Fix DWARF format failing to skip DWFORMstrx3 attributes (). There is no such thing as broken tests (). Process removed files, decouple checkmime (). Keeper fix: destroy `KeeperDispatcher` first (). Fix flaky `03014asyncwithdeduppartlogrmt` (). FunctionsConversion: Remove another batch of bad templates (). Revert "Fix bug when reading system.parts using UUID (issue 61220)." (). CI: disable grpc tests on ARM (). Fix more tests with virtual columns in StorageMerge. (). Remove already not flaky tests with analyzer. (). Analyzer: Fix assert in JOIN with Distributed table (). A test can be slow in debug build (). Updated clang-19 to master. (). Fix test "00002logandexceptionmessages_formatting" (). A test is too slow for debug (). Remove DataStreams (). Better message for logging errors (). Fix sanitizers suppressions (). Remove unused code (). Remove DataStreams (2) (). Update xxhash to v0.8.2 (). Fix: DISTINCT in subquery with analyzer (). Analyzer: fix limit/offset on shards (). Remove PoolBase::AllocateNewBypassingPool (). Try to fix 02901parallelreplicas_rollup with analyzer. (). Add test for (). CI: merge queue support (). Update create.sql (). no smaller unit in date_trunc (). Move KQL trash where it is supposed to be (). Changelog for 24.3 (). Update version_date.tsv and changelogs after v23.3.22.3-lts (). Update version_date.tsv and changelogs after v23.8.12.13-lts (). No "please" (). Update version_date.tsv and changelogs after v23.12.6.19-stable (). Update version_date.tsv and changelogs after v24.1.8.22-stable (). Fix flaky testbrokenprojestions/test.py::testbrokenignored_replic (). Check is Rust avaiable for build, if not, suggest a way to disable Rust support (). CI: new ci menu in PR body (). Remove flaky test `01193metadataloading` (). Adding the `--now` option to enable and start service automatically when installing the database server completely. ().