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

sidebar_position: 1 sidebar_label: 2023 If `path` in cache configuration is not empty and is not absolute path, then it will be put in `<clickhouse server data directory>/caches/<pathfromcache_config>`. (). Compatibility setting `parallelizeoutputfrom_storages` to enable behavior before . (). Add `extractKeyValuePairs` function to extract key value pairs from strings. Input strings might contain noise (i.e log files / do not need to be 100% formatted in key-value-pair format), the algorithm will look for key value pairs matching the arguments passed to the function. As of now, function accepts the following arguments: `datacolumn` (mandatory), `keyvaluepairdelimiter` (defaults to `:`), `pairdelimiters` (defaults to `\space \, \;`) and `quotingcharacter` (defaults to double quotes). (). Add MemoryTracker for the background tasks (merges and mutation). Introduces `mergesmutationsmemoryusagesoftlimit` and `mergesmutationsmemoryusagetoram_ratio` settings that represent the soft memory limit for merges and mutations. If this limit is reached ClickHouse won't schedule new merge or mutation tasks. Also `MergesMutationsMemoryTracking` metric is introduced to allow observing current memory usage of background tasks. Closes . (). Support new aggregate function quantileGK/quantilesGK, like in spark. Greenwald-Khanna algorithm refer to http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf. (). Add statement `SHOW COLUMNS` which shows distilled information from system.columns. (). Added `LIGHTWEIGHT` and `PULL` modifiers for `SYSTEM SYNC REPLICA` query. `LIGHTWEIGHT` version waits for fetches and drop-ranges only (merges and mutations are ignored). `PULL` version pulls new entries from ZooKeeper and does not wait for them. Fixes . (). Add kafkaMurmurHash function for compatibility with Kafka DefaultPartitioner. Closes . (). Allow to easily create a user with the same grants as the current user by using `GRANT CURRENT GRANTS`. (). Add statistical aggregate function `kolmogorovSmirnovTest`. close . (). Added a `lostpartcount` column to the `system.replicas` table. The column value shows the total number of lost parts in the corresponding table. Value is stored in zookeeper and can be used instead of not persistent `ReplicatedDataLoss` profile event for monitoring. (). Add soundex function. Closes . (). Support map type for JSONExtract. (). Add PrettyJSONEachRow format to output pretty JSON with new line delimieters and 4 space indents. (). Add ParquetMetadata input format to read Parquet file metadata. (). Reading files in Parquet format is now much faster. IO and decoding are parallelized (controlled by `max_threads` setting), and only required data ranges are read. (). Only check dependencies if necessary when applying `ALTER TABLE` queries. (). Optimize function `mapUpdate`. (). Now an internal query to local replica is sent explicitly and data from it received through loopback interface. Setting `preferlocalhostreplica` is not respected for parallel replicas. This is needed for better scheduling and makes the code cleaner: the initiator is only responsible for coordinating of the reading process and merging results, continiously answering for requests while all the secondary queries read the data. Note: Using loopback interface is not so performant, otherwise some replicas could starve for tasks which could lead to even slower query execution and not utilizing all possible resources. The initialization of the coordinator is now even more lazy. All incoming requests contain the information about the reading algorithm we initialize the coordinator with it when first request comes. If any replica will decide to read with different algorithm - an exception will be thrown and a query will be aborted. (). Do not build set for the right side of `IN` clause with subquery when it is used only for analysis of skip indexes and they are disabled by setting (`useskipindexes=0`). Previously it might affect the performance of queries.

Query processing is parallelized right after reading `FROM file(...)`. Related to . (). Query processing is parallelized right after reading from a data source. Affected data sources are mostly simple or external storages like table functions `url`, `file`. (). Using correct memory order for counter in `numebers_mt()`. (). Lowered contention of ThreadPool mutex (may increase performance for a huge amount of small jobs). (). Simplify accounting of approximate size of granule in prefetched read pool. (). Support config sections `keeper`/`keeper_server` as an alternative to `zookeeper`. Close , . (). Many issues in ClickHouse applications's help were fixed. Help is now written to stdout from all tools. Status code for `clickhouse help` invocation is now 0. Updated help for `clickhouse-local`, `clickhouse-benchmark`, `clickhouse-client`, `clickhouse hash`, `clickhouse su`, `clickhouse-install`. (). Entries in the query cache are now squashed to maxblocksize and compressed. (). It is possible to set secure flag in named_collections for a dictionary with a ClickHouse table source. Addresses . (). Functions replaceOne(), replaceAll(), replaceRegexpOne() and replaceRegexpAll() can now be called with non-const pattern and replacement arguments. (). Bump internal ZSTD from 1.5.4 to 1.5.5. (). If we run a mutation with IN (subquery) like this: `ALTER TABLE t UPDATE col='new value' WHERE id IN (SELECT id FROM hugetable)` and the table `t` has multiple parts than for each part a set for subquery `SELECT id FROM hugetable` is built in memory. And if there are many parts then this might consume a lot of memory (and lead to an OOM) and CPU. The solution is to introduce a short-lived cache of sets that are currently being built by mutation tasks. If another task of the same mutation is executed concurrently it can lookup the set in the cache, wait for it be be built and reuse it. (). Added configurable retries for all operations with (). Add async connection to socket and async writing to socket. Make creating connections and sending query/external tables async across shards. Refactor code with fibers. Closes . We will be able to increase `connecttimeoutwithfailoverms` by default after this PR (https://github.com/ClickHouse/ClickHouse/issues/5188). (). Formatter '%M' in function formatDateTime() now prints the month name instead of the minutes. This makes the behavior consistent with MySQL. The previous behavior can be restored using setting "formatdatetimeparsedatetimemismonth_name = 0". (). Several improvements around data lakes: - Make StorageIceberg work with non-partitioned data. - Support Iceberg format version V2 (previously only V1 was supported) - Support reading partitioned data for DeltaLake/Hudi - Faster reading of DeltaLake metadata by using Delta's checkpoint files - Fixed incorrect Hudi reads: previously it incorrectly chose which data to read and therefore was able to read correctly only small size tables - Made these engines to pickup updates of changed data (previously the state was set on table creation) - Make proper testing for Iceberg/DeltaLake/Hudi using spark. (). Enable `useenvironmentcredentials` for S3 by default, so the entire provider chain is constructed by default. (). Currently, the JSONVALUE function is similar as spark's getjsonobject function, which support to get value from json string by a path like '$.key'. But still has something different - 1. in spark's getjsonobject will return null while the path is not exist, but in JSONVALUE will return empty string; - 2. in spark's getjsonobject will return a complext type value, such as a json object/array value, but in JSON_VALUE will return empty string. (). Add CNF/constraint optimizer in new analyzer. (). For usestructurefrominsertiontableintable_functions more flexible insert table structure propagation to table

Fixed bug with name mapping and using virtual columns. No more need for 'auto' setting. (). Do not continue retrying to connect to ZK if the query is killed or over limits. (). Added functions to work with columns of type `Map`: `mapConcat`, `mapSort`, `mapExists`. (). Support Enum output/input in BSONEachRow, allow all map key types and avoid extra calculations on output. (). Support more ClickHouse types in ORC/Arrow/Parquet formats: Enum(8|16), (U)Int(128|256), Decimal256 (for ORC), allow reading IPv4 from Int32 values (ORC outputs IPv4 as Int32 and we couldn't read it back), fix reading Nullable(IPv6) from binary data for ORC. (). Add columns `performttlmoveoninsert`, `loadbalancing` for table `system.storagepolicies`, modify column `volume_type` type to `enum8`. (). Added support for `BACKUP ALL` command which backups all tables and databases, including temporary and system ones. (). Function mapFromArrays support map type as input. (). The output of some SHOW PROCESSLIST is now sorted. (). Per-query/per-server throttling for remote IO/local IO/BACKUPs (server settings: `maxremotereadnetworkbandwidthforserver`, `maxremotewritenetworkbandwidthforserver`, `maxlocalreadbandwidthforserver`, `maxlocalwritebandwidthforserver`, `maxbackupbandwidthforserver`, settings: `maxremotereadnetworkbandwidth`, `maxremotewritenetworkbandwidth`, `maxlocalreadbandwidth`, `maxlocalwritebandwidth`, `maxbackupbandwidth`). (). Support more types in CapnProto format: Map, (U)Int(128|256), Decimal(128|256). Allow integer conversions during input/output. (). It is now possible to define per-user quotas in the query cache. (). Don't throw CURRENTWRITEBUFFERISEXHAUSTED for normal behaviour. (). Add new setting `keepermapstrict_mode` which enforces extra guarantees on operations made on top of `KeeperMap` tables. (). Check primary key type for simple dictionary is native unsigned integer type Add setting `checkdictionaryprimarykey ` for compatibility(set `checkdictionaryprimarykey =false` to disable checking). (). Don't replicate mutations for `KeeperMap` because it's unnecessary. (). Allow write/read unnamed tuple as nested Message in Protobuf format. Tuple elements and Message fields are mathced by position. (). Support `additionaltablefilters` and `additionalresultfilter` settings in the new planner. Also, add a documentation entry for `additionalresultfilter`. (). Parsedatetime now understands format string '%f' (fractional seconds). (). Format string "%f" in formatDateTime() now prints "000000" if the formatted value has no fractional seconds, the previous behavior (single zero) can be restored using setting "formatdatetimefprintssinglezero = 1". (). Don't replicate DELETE and TRUNCATE for KeeperMap. (). Generate valid Decimals and Bools in generateRandom function. (). Allow trailing commas in expression list of SELECT query, for example `SELECT a, b, c, FROM table`. Closes . (). Override `CLICKHOUSEUSER` and `CLICKHOUSEPASSWORD` environment variables with `--user` and `--password` client parameters. Closes . (). Added retries to loading of data parts in `MergeTree` tables in case of retryable errors. (). Add support for `Date`, `Date32`, `DateTime`, `DateTime64` data types to `arrayMin`, `arrayMax`, `arrayDifference` functions. Closes . (). Reduce memory usage for multiple `ALTER DELETE` mutations. (). Primary/secondary indices and sorting keys with identical expressions are now rejected. This behavior can be disabled using setting `allowsuspiciousindices`. (). Just fix small typo in comment around `lockForAlter` method in `IStorage.h`. (). Add support for `{server_uuid}` macro. It is useful for identifying replicas in autoscaled clusters when new replicas are constantly added and removed in runtime. This closes . (). The installation script will create a hard link instead of copying if it is possible. (). Support `SHOW TABLE` syntax meaning the same as `SHOW CREATE TABLE`. Closes . (). HTTP temporary buffer support working with fs cache. (). Make Schema inference works for `CREATE AS SELECT`. Closes . (). Added a `replicatedmaxmutationsinoneentry` setting for `ReplicatedMergeTree` that allows limiting the number of mutation commands per one `MUTATEPART` entry (default is 10000). (). In AggregateFunction types, don't count unused arena bytes as `read_bytes`.

Fix some mysql related settings not being handled with mysql dictionary source + named collection. Closes . (). Fix squashing in query cache. (). Support following new jsonpath format - '$.1key', path element begins with number - '$ (). If a user set `maxsinglepartuploadsize` to a very large value, it can lead to a crash due to a bug in the AWS S3 SDK. This fixes . (). Not for changelog. (). Fix data race in `StorageRabbitMQ` (), refactor the code. (). Add aliases `name` and `partname` form `system.parts` and `system.partlog`. Closes . (). Functions "arrayDifferenceSupport()", "arrayCumSum()" and "arrayCumSumNonNegative()" now support input arrays of wide integer types (U)Int128/256. (). Multi-line history in clickhouse-client is now no longer padded. This makes pasting more natural. (). Not for changelog. (). Implement a slight improvement for the rare case when ClickHouse is run inside LXC and LXCFS is used. The LXCFS has an issue: sometimes it returns an error "Transport endpoint is not connected" on reading from the file inside `/proc`. This error was correctly logged into ClickHouse's server log. We have additionally workaround this issue by reopening a file. This is a minuscule change. (). Improve memory accounting for prefetches. Randomise prefetch settings In CI. (). Correctly set headers for native copy operations on GCS. (). Add support for specifying setting names in the command line with dashes instead of underscores, for example, `--max-threads` instead of `--max_threads`. Additionally, support Unicode dash characters like `` instead of `--` - this is useful when you communicate with a team in another company, and a manager from that team copy-pasted code from MS Word. (). Add fallback to password authentication when authentication with SSL user certificate has failed. Closes . (). Increase default value for `connecttimeoutwithfailoverms` to 1000 ms (because of adding async connections in https://github.com/ClickHouse/ClickHouse/pull/47229) . Closes . (). Improve the embedded dashboard. Close . (). Add profile events for log messages, so you can easily see the count of log messages by severity. (). `bitCount` function support `FixedString` and `String` data type. (). In previous versions, the `LineAsString` format worked inconsistently when the parallel parsing was enabled or not, in presence of DOS or MacOS Classic line breaks. This closes . (). The exception message about the unparsed query parameter will also tell about the name of the parameter. Reimplement . Close . (). Added field `rows` with number of rows parsed from asynchronous insert to `system.asynchronousinsertlog`. (). Bump Intel QPL from v1.0.0 to v1.1.0 (fixes build issue ) 2. the DEFLATEQPL codec now respects the maximum hardware jobs returned by libaccelconfig. (). Reduce the number of dependencies in the header files to speed up the build. (). Randomize compression of marks and indices in tests. (). Randomize vertical merges from compact to wide parts in tests. (). With the current approach, all ports are calculated at the beginning and could overlap or even be highjacked, see for `port is already allocated`. It's possibly the reason for . (). Update time zones. The following were updated: Africa/Cairo, Africa/Casablanca, Africa/ElAaiun, America/Bogota, America/CambridgeBay, America/CiudadJuarez, America/Godthab, America/Inuvik, America/Iqaluit, America/Nuuk, America/Ojinaga, America/Pangnirtung, America/RankinInlet, America/Resolute, America/Whitehorse, America/Yellowknife, Asia/Gaza, Asia/Hebron, Asia/Kuala_Lumpur, Asia/Singapore, Canada/Yukon, Egypt, Europe/Kirov, Europe/Volgograd, Singapore. (). Support for CRC32 checksum in HDFS. Fix performance issues. (). Remove remainders of GCC support. (). Add CI run with new analyzer infrastructure enabled. (). Not for changelog. (). After the recent update, the `dockerd` requires `--tlsverify=false` together with the http port explicitly. (). Run more functional tests concurrently.

Fix glibc compatibility check: replace `preadv` from musl. (). Use position independent encoding/code for sanitizers (at least msan :D) build to avoid issues with maximum relocation size. (). Fix system.queryviewslog for MVs that are pushed from background threads (). Fix several `RENAME COLUMN` bugs (). Fix minor hiliting issues in clickhouse-format (). Fix crash for uploading parts which size is greater then INT_MAX to S3 (). Fix overflow in sparkbar function (). Fix race in StorageS3 (). Remove a feature (). Fix alter formatting (minor) (). Fix cpu usage in rabbitmq (was worsened in 23.2 after ) (). Fix ThreadPool for DistributedSink and use StrongTypedef for CurrentMetrics/ProfileEvents/StatusInfo to avoid further errors (). Fix crash in EXPLAIN PIPELINE for Merge over Distributed (). Check node for Backup Restore concurrency (). close client (). Fix serializing LowCardinality as Arrow dictionary (). Reset downloader for cache file segment in TemporaryFileStream (). Fix possible SYSTEM SYNC REPLICA stuck in case of DROP/REPLACE PARTITION (). ClickHouse startup error when loading a distributed table that depends on a dictionary (). Don't check dependencies when renaming system tables automatically (). Some fixes for parallel replicas (). Update only affected rows in KV storage (). Fix possible segfault in cache (). toTimeZone function throw an error when no constant string is provided (). Fix logical error with IPv4 in Protobuf, add support for Date32 (). "changed" flag in system.settings is calculated incorrectly for settings with multiple values (). Fix storage `Memory` with enabled compression (). Fix bracketed-paste mode messing up password input in client reconnect (). Avoid sending `nullptr` to `memcpy` in `copyStringInArena` (). Fix nested map for keys of IP and UUID types (). Fix uncaught exception in case of parallel loader for hashed dictionaries (). `groupArray` returns cannot be nullable (). Fix bug in Keeper when a node is not created with scheme `auth` in ACL sometimes. (). Fix IPv4 comparable with UInt (). Fix possible error from cache (). Fix async inserts with empty data (). Fix table dependencies in case of failed RENAME TABLE (). Fix zero-copy-replication on encrypted disks. (). Fix skipunavailableshards in case of unavailable hosts (). Fix key condition on duplicate primary keys (). Fix for race in ZooKeeper when joining sendthread/receivethread (). Fix unexpected part name error when trying to drop a ignored detached part with zero copy replication (). Fix reading Date32 Parquet/Arrow column into not Date32 column (). Fix UNKNOWN_IDENTIFIER error while select from table with row policy and column with dots (). Fix aggregate empty string error (). Fix postgres database setting (). Fix flaky testcachewithfulldisk_space (). Fix "prepared statement insert already exists" (). Fix replace (). Fixed hashing issue in creating partition IDs for s390x. (). NO CL ENTRY: 'Revert "Randomize JIT settings in tests"'. (). NO CL ENTRY: 'Fix test "02494querycache_drop.sql"'. (). NO CL ENTRY: 'Revert "Check simple dictionary key is native unsigned integer"'. (). NO CL ENTRY: 'Revert "Make Schema inference works for CREATE AS SELECT"'. (). NO CL ENTRY: 'Revert "Add MemoryTracker for the background tasks"'. (). NO CL ENTRY: 'Revert "Added tests for ClickHouse apps help and fixed help issues"'. (). NO CL ENTRY: 'Revert "Adapt marks count for prefetch read pool"'. (). merge and mutation make thread group for setting memory trackers right (). Query plan: update sort description (). Sqllogic (). Fix race between DROP MatView and RESTART REPLICAS (). Merge (). Add a test for ClientInfo initialquerystart_time in inter-server mode

Make custom key for parallel replicas work in new analyzer (). throw exception while non-parametric functions having parameters (). Move FunctionsJSON implementation to header file (). Use ThreadPool in PipelineExecutor (). Add sanity checks for writing number in variable length format (resubmit) (). Try fix 02151hashtablesizesstats.sh test (). Add scripts for sparse checkout of some contribs (). Do not take lock for shared context in setTempDataOnDisk (). parseDateTime: Require format argument (). Do not partially cancel processors added from expand pipeline. (). Fix some tests (). Fix compiling examples without Hive (). In messages, put values into quotes (). Fix 01710projectionoptimize_materialize flakiness (). Fix UB (signed integer overflow) in StorageMergeTree::backupData() (). Update version after release (). Update version_date.tsv and changelogs after v23.3.1.2823-lts (). Small follow-up to (). Try to update arrow library to release 11.0.0 (). fix test numbers again 2 (). Fix: copy forgotten show_secrets in FormatSettings semi-copy-ctor (). Do not remove inputs from maybe compiled DAG. (). Update version_date.tsv and changelogs after v22.3.20.29-lts (). Update version_date.tsv and changelogs after v22.12.6.22-stable, v22.3.20.29-lts (). Merging (). Follow-up to (). test / some complex query (it fails with analyzer enabled) (). Fix constraints after merge (). Add logging for concurrency checks for backups (). Update version_date.tsv and changelogs after v23.1.6.42-stable (). Update version_date.tsv and changelogs after v23.2.5.46-stable (). Fix lambda type resolution (). Avoid abort in protobuf library in debug build (). Batch fix for projections analysis with analyzer. (). Fix tests with explain and analyzer where names changed. (). Small follow-up to (). Update version_date.tsv and changelogs after v22.8.16.32-lts (). Add script for a slack bot that reports broken tests (). Fix flaky `testkeepermntrdatasize` (). WITH FILL clarification and cleanup (). Cleanup mess in .clang-tidy (). Fix testbackupall (). Find big allocations without memory limits checks (). Fix issue with krb5 and building w/ OpenSSL (). Make CI slack bot less noisy (). AST fuzzer: Fix assertion in TopK serialization (). Fix possible flakiness of lightweight delete tests (due to index granularity randomization) (). Fix flaky `testkeepersnapshots` (). Update sort desc: more efficient original node search in ActionsDAG (). test for (). Better exception messages from Keeper client (). Small documentation follow-up to (). Update 00002logandexceptionmessages_formatting.sql (). Avoid operation on uninitialised data in readDateTimeTextImpl (). Add reading step for system zookeeper. Analyze path from filter DAG. (). Fix deadlock due to debug tracking of memory allocations (). Register datediff and trim aliases in system.functions (). Change error code (). Update 00002logandexceptionmessages_formatting.sql (). Fix query cache with sparse columns (). Use std::string_view to get rid of strlen (). Fix bytesSize() of zk SetRequest (). Remove dead code and unused dependencies (). Use forward declaration of ThreadPool (). Use std::string_view instead of strlen (). Use std::string::starts_with instead of a roll your own variant (). Fix flaky `testalternativekeeper_config` (). Use one ThreadGroup while pushing to materialized views (and some refactoring for ThreadGroup) (). Fix some tests (). Fix 02477projectionmaterializeandzero_copy flakiness (due to index granularity randomization) (). Better exception message for ZSTD (). Remove misleading comment and block (). Update 02207allowplaintextandno_password.sh (). bugfix: compare Bits and sizeof(Arithmetic) 8 (). Remove superfluous includes of logger_userful.h from headers (). Remove slow test from debug builds (). Don't use type conversion with String query parameters (). Fix TSan report in Kerberos (). Add seconddeadlockstack=1 for TSan on CI and fix some lock-order-inversion problems (). Fix LOGICAL_ERROR in executable table function (). Fix flakiness of teststorecleanup in case of image rebuild (). Remove strange code (). Minor refactoring of formatDateTime()

Better handling of values too large for VarInt encoding (). refine some messages of exception in regexp tree (). Partially revert e0252db8d and fix pr-bugfix labeling (). Fix build src/Interpreters/InterpreterInsertQuery.h (). Fix build ThreadGroupPtr (). Fix flaky test testdropreplicaandachieve_quorum (). fix 02504regexpdictionarytablesource (). Remove strange code from MutateTask (). SonarCloud: C++ Reporting Standards (). Remove lock for duplicated parts UUIDs (allowexperimentalquery_deduplication=1) (). show result of minio listings for test testattachdetach_partition (). Fix tests for analyzer (). Call IProcessor::onCancel() once (). Update MergeTree syntax for optional index granularity argument (). Add test for old bug (). Fix flaky `testkeepersession` (). Better messages formatting in the CI Slack bot (). Add trusted contributors (). Do not remove broken detached parts on startup (). Remove `-Wshadow` suppression which leaked into global namespace (). VarInt coding: Always perform sanity check (). Try to fix flaky 02455onerowfromcsvmemoryusage (). insert UInt32 Hashvalue in reverse order on big endian machine (). Limit size of messages from the CI slack bot (). Update README.md (). Remove duplicate definition of SingleEndpointHTTPSessionPool (). Fix flaky testversionupdateaftermutation/test.py::testupgradewhile_mutation (). Fix flaky test testbackupall (). Fix a confusing warning about interserver mode (). Store clusters from ClusterDiscovery in separate map (). Reimplement (). Allow running integration tests without spark (). forbid gwpsan in debug mode to rescue stress tests (). Simplify FileCacheFactory (). Fix double whitespace in exception message (). Add a test for (). Remove excessive logging (). remove duplicate indentwith in clang-format (). Try fix flacky testconcurrentaltermoveand_drop (). fix the race wait loading parts (). suppress assert of progress for testsystemreplicated_fetches (). Fix: do not run teststorecleanupdisks3 in parallel (). Update README.md (). Fix test reference files for join using nullable column (). bitNot marked as NOSANITIZEUNDEFINED (). Fix order by in teststoragedelta (). Fix segfault when set is not built yet (). A non significant change (does not affect anything): add support for signed integers in the maskBits function (). Follow-up to (). Un-flake 01079newrangereadersegfault (). Add building stage to the fasttests report, respect existing status on rerun (). Update Settings.h (). Update cluster.py (). Docs: Replace annoying three spaces in enumerations by a single space (). Fix flaky 02706arrowdifferent_dictionaries (). Use default `{replica}`, `{shard}` arguments in Replicated engine (). Rename quantileApprox -> quantileGK (). Don't throw logical error when column is not found in Parquet/Arrow schema (). Reimplement (). Dont allow bad changelogs (). Update README.md (). Remove outdated test (). Fix typo (). Fix assertion after (). Fix build error for big-endian platforms (). Update version_date.tsv and changelogs after v22.8.17.17-lts (). Update version_date.tsv and changelogs after v23.1.7.30-stable (). Update version_date.tsv and changelogs after v23.3.2.37-lts (). Remove some code (). Remove some dead code in poco (). Prevent false positive report by static analyzer (). Update version_date.tsv and changelogs after v23.2.6.34-stable (). Enforce documentation change for a new-feature PR (). Update clickhouse-test (). Disable long 02581 in debug, enable with sanitizers (). Fix flaky integration test testasyncquery_sending (). Correct functional test to reflect interoperability (). Cleanup build guide (). Fix building iceberg without avro (). Add slash for close tag of userdefinedzookeeper_path (). Improve some lambdas (). Do not randomize prefetch settings for debug build (). Don't throw LOGICAL_ERROR when reading from remote if there is no local replica (). Docs: Make caption of processorsprofilelog page consistent with other pages (). Improve test reports (). Add a note regarding private/public repo to logs (). suppress two timeout tests (). Document makeDateTime() and its variants (). Fix after ().