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

sidebar_position: 1 sidebar_label: 2023 Rewrited storage S3Queue completely: changed the way we keep information in zookeeper which allows to make less zookeeper requests, added caching of zookeeper state in cases when we know the state will not change, improved the polling from s3 process to make it less aggressive, changed the way ttl and max set for trached files is maintained, now it is a background process. Added `system.s3queue` and `system.s3queue_log` tables. Closes . (). There is no longer an option to automatically remove broken data parts. This closes . (). The obsolete in-memory data parts can no longer be read from the write-ahead log. If you have configured in-memory parts before, they have to be removed before the upgrade. (). Remove the integration with Meilisearch. Reason: it was compatible only with the old version 0.18. The recent version of Meilisearch changed the protocol and does not work anymore. Note: we would appreciate it if you help to return it back. (). Rename directory monitor concept into background INSERT. All settings `directorymonitor*` had been renamed to `distributedbackground_insert`. Backward compatibility should be preserved* (since old settings had been added as an alias). (). Do not mix-up sendtimeout and receivetimeout. (). Comparison of time intervals with different units will throw an exception. This closes . You might have occasionally rely on the previous behavior when the underlying numeric values were compared regardless of the units. (). Add function "arrayFold(x1, ..., xn, accum -> expression, array1, ..., arrayn, init_accum)" which applies a lambda function to multiple arrays of the same cardinality and collects the result in an accumulator. (). Added aggregation function lttb which uses the algorithm for downsampling data for visualization. (). Query`CHECK TABLE` has better performance and usability (sends progress updates, cancellable). Support checking particular part with `CHECK TABLE ... PART 'part_name'`. (). Added function `jsonMergePatch`. When working with JSON data as strings, it provides a way to merge these strings (of JSON objects) together to form a single string containing a single JSON object. (). Added a new SQL function, "arrayRandomSample(arr, k)" which returns a sample of k elements from the input array. Similar functionality could previously be achieved only with less convenient syntax, e.g. "SELECT arrayReduce('groupArraySample(3)', range(10))". (). Added new function `getHttpHeader` to get HTTP request header value used for a request to ClickHouse server. Return empty string if the request is not done over HTTP protocol or there is no such header. (). Introduce -ArgMin/-ArgMax aggregate combinators which allow to aggregate by min/max values only. One use case can be found in . This PR also reorganize combinators into dedicated folder. (). Allow to drop cache for Protobuf format with `SYSTEM DROP SCHEMA FORMAT CACHE (). Add external HTTP Basic authenticator. (). Added function `byteSwap` which reverses the bytes of unsigned integers. This is particularly useful for reversing values of types which are represented as unsigned integers internally such as IPv4. (). Added function `formatQuery()` which returns a formatted version (possibly spanning multiple lines) of a SQL query string. Also added function `formatQuerySingleLine()` which does the same but the returned string will not contain linebreaks. (). Added DWARF input format that reads debug symbols from an ELF executable/library/object file. (). Allow to save unparsed records and errors in RabbitMQ, NATS and FileLog engines. Add virtual columns `error` and `rawmessage`(for NATS and RabbitMQ), `rawrecord` (for FileLog) that are filled when ClickHouse fails to parse new

The behaviour is controlled under storage settings `natshandleerrormode` for NATS, `rabbitmqhandleerrormode` for RabbitMQ, `handleerrormode` for FileLog similar to `kafkahandleerrormode`. If it's set to `default`, en exception will be thrown when ClickHouse fails to parse a record, if it's set to `stream`, erorr and raw record will be saved into virtual columns. Closes . (). Keeper client improvement: add getallchildren_number command that returns number of all children nodes under a specific path. (). If a table has a space-filling curve in its key, e.g., `ORDER BY mortonEncode(x, y)`, the conditions on its arguments, e.g., `x >= 10 AND x <= 20 AND y >= 20 AND y <= 30` can be used for indexing. A setting `analyzeindexwithspacefilling_curves` is added to enable or disable this analysis. This closes . Continuation of . Continuation of . Continuation of . Continuation of . (). Add setting `optimizetrivialapproximatecountquery` to use `count()` approximation for storage EmbeddedRocksDB. Enable trivial count for StorageJoin. (). Keeper client improvement: add getdirectchildren_number command that returns number of direct children nodes under a path. (). Add statement `SHOW SETTING setting_name` which is a simpler version of existing statement `SHOW SETTINGS`. (). This pr gives possibility to pass data in Npy format to Clickhouse. ``` SELECT FROM file('example_array.npy', Npy). (). This PR impleents a new setting called `forceoptimizeprojection_name`, it takes a name of projection as an argument. If it's value set to a non-empty string, ClickHouse checks that this projection is used in the query at least once. Closes . (). Add option `queryplanpreservenumstreamsafterwindow_functions` to preserve the number of streams after evaluating window functions to allow parallel stream processing. (). Release more num_streams if data is small. (). RoaringBitmaps being optimized before serialization. (). Posting lists in inverted indexes are now optimized to use the smallest possible representation for internal bitmaps. Depending on the repetitiveness of the data, this may significantly reduce the space consumption of inverted indexes. (). Fix contention on Context lock, this significantly improves performance for a lot of short-running concurrent queries. (). Improved the performance of inverted index creation by 30%. This was achieved by replacing `std::unorderedmap` with `absl::flathash_map`. (). Support orc filter push down (rowgroup level). (). Improve performance of external aggregation with a lot of temporary files. (). Set a reasonable size for the marks cache for secondary indices by default to avoid loading the marks over and over again. (). Avoid unnecessary reconstruction of index granules when reading skip indexes. This addresses #issuecomment-1763766009 . (). Cache cast function in set during execution to improve the performance of function `IN` when set element type doesn't exactly match column type. (). Performance improvement for `ColumnVector::insertMany` and `ColumnVector::insertManyFrom`. (). ... Getting values from a map is widely used. In practice, the key structrues are usally the same in the same map column, we could try to predict the next row's key position and reduce the comparisons. (). ... Fix an issue that struct field prune doesn't work in some cases. For example ```sql INSERT INTO FUNCTION file('testparquetstruct', Parquet, 'x Tuple(a UInt32, b UInt32, c String)') SELECT tuple(number, rand(), concat('testxxxxxxx' toString(number))) FROM numbers(10);. (). This is the second part of Kusto Query Language dialect support. has been merged. (). Op processors IDs are raw ptrs casted to UInt64. Print it in a prettier manner:. (). Creating a direct dictionary with a lifetime field set will be rejected at create time. Fixes: .

Allow parameters in queries with partitions like `ALTER TABLE t DROP PARTITION`. Closes . (). 1.Refactor the code about zookeeperconnection 2.Add a new column xid for zookeeperconnection. (). Add the ability to tune the number of parallel replicas used in a query execution based on the estimation of rows to read. (). Distributed queries executed in `asyncsocketforremote` mode (default) now respect `maxthreads` limit. Previously, some queries could create excessive threads (up to `maxdistributedconnections`), causing server performance issues. (). Display the correct server settings after reload. (). Add support for mathematical minus `` character in queries, similar to `-`. (). Add replica groups to the Replicated database engine. Closes . (). This PR will fix UBsan test error . (). Support asynchronous inserts with external data via native protocol. Previously it worked only if data is inlined into query. (). It is better to retry retriable s3 errors than totally fail the query. Set bigger value to the s3retryattempts by default. (). Optimised external aggregation memory consumption in case many temporary files were generated. (). Add load balancing testhostnamelevenshtein_distance. (). Caching skip-able entries while executing DDL from Zookeeper distributed DDL queue. (). Improve hiding secrets in logs. (). Added fields `substreams` and `filenames` to the `system.parts_columns` table. (). For now the projection analysis will be performed only on top of query plan. The setting `queryplanoptimize_projection` became obsolete (it was enabled by default long time ago). (). When function "untuple()" is now called on a tuple with named elements and itself has an alias (e.g. "select untuple(tuple(1)::Tuple(elementalias Int)) AS untuplealias"), then the result column name is now generated from the untuple alias and the tuple element alias (in the example: "untuplealias.elementalias"). (). Added setting `describeincludevirtualcolumns`, which allows to include virtual columns of table into result of `DESCRIBE` query. Added setting `describecompact_output`. If it is set to `true`, `DESCRIBE` query returns only names and types of columns without extra information. (). Sometimes `OPTIMIZE` with `optimizethrowif_noop=1` may fail with an error `unknown reason` while the real cause of it - different projections in different parts. This behavior is fixed. (). Allow to have several MaterializedPostgreSQL tables following the same Postgres table. By default this behaviour is not enabled (for compatibility, because it is backward-incompatible change), but can be turned on with setting `materializedpostgresqluseuniquereplicationconsumeridentifier`. Closes . (). Allow to parse negative DateTime64 and DateTime with fractional part from short strings. (). To improve compatibility with MySQL, 1. "informationschema.tables" now includes the new field "tablerows", and 2. "information_schema.columns" now includes the new field "extra". (). Clickhouse-client won't show "0 rows in set" if it is zero and if exception was thrown. (). Support rename table without keyword `TABLE` like `RENAME db.t1 to db.t2`. (). Add internal_replication to system.clusters. (). Select remote proxy resolver based on request protocol, add proxy feature docs and remove `DB::ProxyConfiguration::Protocol::ANY`. (). Avoid retrying keeper operations on INSERT after table shutdown. (). Improved overall resilience for ClickHouse in case of many parts within partition (more than 1000). It might reduce the number of `TOOMANYPARTS` errors. (). Follow up https://github.com/ClickHouse/ClickHouse/pull/55184 to not to fall into `UNKNOWN_SETTING` error when the user uses the deleted MergeTree settings. (). Updated `dashboard.html()` added a `if` to check if there is one chart, then "maximize" and "drag" buttons are not shown. (). Functions `toDayOfWeek()` (MySQL alias: `DAYOFWEEK()`), `toYearWeek()` (`YEARWEEK()`) and `toWeek()` (`WEEK()`) now supports `String` arguments. This makes its behavior consistent with MySQL's behavior.

Implement query parameters support for `ALTER TABLE ... ACTION PARTITION . Closes . (). Inverted indexes do not store tokens with too many matches (i.e. row ids in the posting list). This saves space and avoids ineffective index lookups when sequential scans would be equally fast or faster. The previous heuristics (`density` parameter passed to the index definition) that controlled when tokens would not be stored was too confusing for users. A much simpler heuristics based on parameter `maxrowsperpostingslist` (default: 64k) is introduced which directly controls the maximum allowed number of row ids in a postings list. (). `SHOW COLUMNS` now correctly reports type `FixedString` as `BLOB` if setting `usemysqltypesinshowcolumns` is on. Also added two new settings, `mysqlmapstringtotextinshowcolumns` and `mysqlmapfixedstringtotextinshowcolumns` to switch the output for types `String` and `FixedString` as `TEXT` or `BLOB`. (). During ReplicatedMergeTree tables startup clickhouse server checks set of parts for unexpected parts (exists locally, but not in zookeeper). All unexpected parts move to detached directory and instead of them server tries to restore some ancestor (covered) parts. Now server tries to restore closest ancestors instead of random covered parts. (). The advanced dashboard now supports draggable charts on touch devices. This closes . (). Introduced setting `datetimeoverflow_behavior` with possible values `ignore`, `throw`, `saturate` that controls the overflow behavior when converting from Date, Date32, DateTime64, Integer or Float to Date, Date32, DateTime or DateTime64. (). Improve write performance to rocksdb. (). Use the default query format if declared when outputting exception with httpwriteexceptioninoutput_format. (). Use upstream repo for apache datasketches. (). Add support for SHOW MERGES query. (). Provide a better message for common MV pitfalls. (). Reduced memory consumption during loading of hierarchical dictionaries. (). All dictionaries support setting `dictionaryuseasync_executor`. (). If you dropped the current database, you will still be able to run some queries in `clickhouse-local` and switch to another database. This makes the behavior consistent with `clickhouse-client`. This closes . (). Functions `(add|subtract)(Year|Quarter|Month|Week|Day|Hour|Minute|Second|Millisecond|Microsecond|Nanosecond)` now support string-encoded date arguments, e.g. `SELECT addDays('2023-10-22', 1)`. This increases compatibility with MySQL and is needed by Tableau Online. (). Introduce setting `createtableemptyprimarykeybydefault` for default `ORDER BY ()`. (). Prevent excesive memory usage when deserializing AggregateFunctionTopKGenericData. (). The setting `applydeletedmask` when disabled allows to read rows that where marked as deleted by lightweight DELETE queries. This is useful for debugging. (). Allow skip null values when serailize tuple to json objects, which makes it possible to keep compatiability with spark to_json function, which is also useful for gluten. (). Functions `(add|sub)Date()` now support string-encoded date arguments, e.g. `SELECT addDate('2023-10-22 11:12:13', INTERVAL 5 MINUTE)`. The same support for string-encoded date arguments is added to the plus and minus operators, e.g. `SELECT '2023-10-23' + INTERVAL 1 DAY`. This increases compatibility with MySQL and is needed by Tableau Online. (). Allow unquoted strings with CR in CSV format. Closes . (). On a Keeper with lots of watches AsyncMetrics threads can consume 100% of CPU for noticable time in `DB::KeeperStorage::getSessionsWithWatchesCount()`. The fix is to avoid traversing heavy `watches` and `list_watches` sets. (). Allow to run `clickhouse-keeper` using embedded config. (). Set limit of the maximum configuration value for queued.min.messages to avoid problem with start fetching data with Kafka. (). Fixed typo in SQL function `minSampleSizeContinous` (renamed `minSampleSizeContinuous`). Old name is preserved for backward compatibility. This closes: . (). Print corrupted part path on disk before shutdown

Before this change if a part is corrupted on disk and server cannot start, it was almost impossible to understand which part is broken. This is fixed. (). If the database is already initialized, it doesn't need to be initialized again upon subsequent launches. This can potentially fix the issue of infinite container restarts when the database fails to load within 1000 attempts (relevant for very large databases and multi-node setups). (). Resource with source code including submodules is built in Darwin special build task. It may be used to build ClickHouse without checkouting submodules. (). An error will occur when building ClickHouse with the avx series of instructions enabled. CMake command ```shell cmake .. -DCMAKEBUILDTYPE=Release -DENABLEAVX=ON -DENABLEAVX2=ON -DENABLEAVX2FORSPECOP=ON ``` Failed message ``` (). Add `instanceenvvariables` option to integration tests. (). Solve issue with launching standalone clickhouse-keeper from clickhouse-server package. (). In tests RabbitMQ version is updated to 3.12.6. Improved logs collection for RabbitMQ tests. (). Fix integration check python script to use gh api url - Add Readme for CI tests. (). Fix integration check python script to use gh api url - Add Readme for CI tests. (). Check sha512 for tgz; use a proper repository for keeper; write only filenames to TGZ.sha512 files for tarball packages. Prerequisite for . (). Updated to get free port for azurite. (). Reduce the ouput info. (). Modified the error message difference between openssl and boringssl to fix the functional test. (). Changes to support the HDFS for s390x. (). Fix flaky test of jbod balancer by relaxing the Gini coefficient and introducing more determinism in insertions. (). skip hardlinking inverted index files in mutation (). Fix 'Cannot find column' in read-in-order optimization with ARRAY JOIN (). Support missed Object(Nullable(json)) subcolumns in query. (). Re-add fix for `accurateCastOrNull()` (). Fix detecting DEFAULT for columns of a Distributed table created without AS (). Proper cleanup in case of exception in ctor of ShellCommandSource (). Fix deadlock in LDAP assigned role update (). Suppress error statistics update for internal exceptions (). Fix deadlock in backups (). Fix storage Iceberg files retrieval (). Fix partition pruning of extra columns in set. (). Fix recalculation of skip indexes in ALTER UPDATE queries when table has adaptive granularity (). Fix for background download in fs cache (). Avoid possible memory leaks in compressors in case of missing buffer finalization (). Fix functions execution over sparse columns (). Fix incorrect merging of Nested for SELECT FINAL FROM SummingMergeTree (). Fix bug with inability to drop detached partition in replicated merge tree on top of S3 without zero copy (). Fix SIGSEGV in MergeSortingPartialResultTransform (due to zero chunks after remerge()) (). Fix data-race in CreatingSetsTransform (on errors) due to throwing shared exception (). Fix trash optimization (up to a certain extent) (). Fix leak in StorageHDFS (). Fix parsing of arrays in cast operator (). Fix filtering by virtual columns with OR filter in query (). Fix MongoDB connection issues (). Fix MySQL interface boolean representation (). Fix MySQL text protocol DateTime formatting and LowCardinality(Nullable(T)) types reporting (). Make `usemysqltypesinshow_columns` affect only `SHOW COLUMNS` (). Fix stack symbolizer parsing DWFORMref_addr incorrectly and sometimes crashing (). Destroy fiber in case of exception in cancelBefore in AsyncTaskExecutor (). Fix Query Parameters not working with custom HTTP handlers (). Fix checking of non handled data for Values format (). Fix 'Invalid cursor state' in odbc interacting with MS SQL Server (). Fix max execution time and 'break' overflow mode

Fix crash in QueryNormalizer with cyclic aliases (). Disable wrong optimization and add a test (). Merging (). Add a test to avoid incorrect decimal sorting (). Fix progress bar for s3 and azure Cluster functions with url without globs (). Fix filtering by virtual columns with OR filter in query (resubmit) (). Fixes and improvements for Iceberg storage (). Fix data race in CreatingSetsTransform (v2) (). Throw exception when parsing illegal string as float if precisefloatparsing is true (). Disable predicate pushdown if the CTE contains stateful functions (). Fix normalize ASTSelectWithUnionQuery strip FORMAT of the query (). Try to fix possible segfault in Native ORC input format (). Fix window functions in case of sparse columns. (). fix: StorageNull supports subcolumns (). Do not write retriable errors for Replicated mutate/merge into error log (). Fix `SHOW DATABASES LIMIT <N>` (). Fix autogenerated Protobuf schema with fields with underscore (). Fix dateTime64ToSnowflake64() with non-default scale (). Fix output/input of Arrow dictionary column (). Fix fetching schema from schema registry in AvroConfluent (). Fix 'Block structure mismatch' on concurrent ALTER and INSERTs in Buffer table (). Fix incorrect free space accounting for least_used JBOD policy (). Fix missing scalar issue when evaluating subqueries inside table functions (). Fix wrong query result when httpwriteexceptioninoutput_format=1 (). Fix schema cache for fallback JSON->JSONEachRow with changed settings (). Add error handler to odbc-bridge (). NO CL ENTRY: 'Revert "Fix libssh+openssl3 & s390x (part 2)"'. (). NO CL ENTRY: 'Revert "Support SAMPLE BY for VIEW"'. (). NO CL ENTRY: 'Revert "Revert "refine error code of duplicated index in create query""'. (). NO CL ENTRY: 'Update mysql.md - Remove the Private Preview Note'. (). NO CL ENTRY: 'Revert "Removed "maximize" and "drag" buttons from `dashboard` in case of single chart"'. (). NO CL ENTRY: 'Revert "Fix filtering by virtual columns with OR filter in query"'. (). NO CL ENTRY: 'Revert "Improve ColumnDecimal, ColumnVector getPermutation performance using pdqsort with RadixSort"'. (). NO CL ENTRY: 'Revert "Integration check script fix ups"'. (). NO CL ENTRY: 'Revert "Fix 'Block structure mismatch' on concurrent ALTER and INSERTs in Buffer table"'. (). NO CL ENTRY: 'Revert "Add function getHttpHeader"'. (). NO CL ENTRY: 'Revert "Fix output/input of Arrow dictionary column"'. (). Set defaultsforomitted_fields to true for hive text format (). Fixing join tests with analyzer (). Make exception about `ALTER TABLE ... DROP COLUMN|INDEX|PROJECTION` more clear (). ANTI JOIN: Invalid number of rows in Chunk (). Analyzer: fix row policy (). Add a test with Block structure mismatch in grace hash join. (). Support skipunusedshards in Analyzer (). Revert "Revert "Planner prepare filters for analysis"" (). Add setting allowexperimentalpartial_result (). Fix CI skip build and skip tests checks (). `MergeTreeData::forcefullyMovePartToDetachedAndRemoveFromMemory` does not respect mutations (). Fix azure test by using unique names (). Use `--filter` to reduce checkout time (). Remove tests (). Remove useless path from lockSharedData in StorageReplicatedMergeTree (). Fix broken test (). Update version_date.tsv and changelogs after v23.8.3.48-lts (). Use `source` instead of `bash` for pre-build script (). Update s3queue.md to add experimental flag (). Clean data dir and always start an old server version in aggregate functions compatibility test. (). Update version_date.tsv and changelogs after v23.9.1.1854-stable (). Add links to check reports in status comment (). Bump croaring to 2.0.2 (). check if block is empty after async insert retries (). Improve linker detection on macOS (). Fix libssh+openssl3 & s390x

Fix file cache temporary file segment range in FileSegment::reserve (). Fix libssh+openssl3 & s390x (part 2) (). Fix wrong test name (). Fix libssh+openssl3 & s390x (Part 2.1) (). Reset signals caught by clickhouse-client if a pager is in use (). Update README.md (). remove the blocker to grow the metadata file version (). Fix syntax highlight in client for spaceship operator (). Fix mypy errors (). Upgrade MinIO to support accepting non signed requests (). tests: switch test_throttling to S3 over https to make it more production like (). Evaluate defaults during async insert safer (). Fix data race in context (). Do not allow tests with state ERROR be overwritten by PASSED (). Fix query formatting for SYSTEM queries (). Context added TSA (). Improve logging in query cache (). MaterializedPostgreSQL: remove back check (). Make `usemysqltypesinshow_columns` independent from the connection (). Make `HandlingRuleHTTPHandlerFactory` more stupid, but less error prone (). Fix tsan issue in croaring (). Refactorings and better documentation for `toStartOfInterval()` (). Review and partially revert it (). Update README.md (). Context locks small fixes (). Fix bad test `01605dictincttwo_level` (). Fix testmaxrowstoreadleafwithview flakiness (due to preferlocalhost_replica) (). Better exception messages (). Update CHANGELOG.md (). Better recursion depth check (). Merging (). Fix data-race in web disk (). Disable skim under TSan (Rust does not supports ThreadSanitizer) (). Fix missing thread accounting for insertdistributedsync=1 (). Improve tests for untuple() (). Fix test that never worked testrabbitmqrandom_detach (). Fix out of bound error in system.remotedatapaths + disk web (). Remove existing moving/ dir if allowremovestalemovingparts is off (). Bump curl to 8.4 (). Minor fixes for 02882replicatedfetchchecksumsdoesnt_match.sql (). AggregatingTransform initGenerate race condition fix (). HashTable resize exception handle fix (). fix lots of 'Structure does not match' warnings in ci (). Cleanup: parallel replica coordinator usage (). add k-morozov to trusted contributors (). Forbid create inverted index if setting not enabled (). Better exception messages but without SEGFAULT (). Avoid setting same promise twice (). Better error message in case when merge selecting task failed. (). Add a test (). Added healthcheck for LDAP (). Fix global context for tests with --gtest_filter (). Fix replica groups for Replicated database engine (). Remove unused protobuf includes (). Apply Context changes to standalone Keeper (). Do not fail if label-to-remove does not exist in PR (). CI: cast extra column expression `pullrequestnumber` to Int32 (). Add back a test that was removed by mistake (). Bump croaring to v2.0.4 (). byteswap: Add 16/32-byte integer support (). Revert (). Fix: race condition in kusto implementation (). Remove passed tests from `analyzertechdebt.txt` (). Enable 02161_addressToLineWithInlines (). KeyCondition: preparation (). Fix flakiness of testsystemmerges (by increasing sleep interval properly) (). fix `structure does not match` logs again (). KeyCondition: small changes (). Resubmit (). Fix some typos (). Show move/maximize only if there is more than a single chart (). Enable testqueryislockfree (). Allow FINAL with parallel replicas with custom key (). Fix StorageMaterializedView::isRemote (). Bump gRPC to 1.34.1 (). Randomize block_number column setting in ci (). Use pool for proxied S3 disk http sessions (). Analyzer: fix block stucture mismatch in matview with engine distributed (). Use diff object again, since JSON API limits the files (). Big endian platform max intersection fix (). Remove temporary debug logging in MultiplexedConnections (). Check if partition ID is `nullptr` (). Control Keeper feature flag randomization with env (). Added test to check CapnProto cache

Query Cache: Only cache initial query (). Temporarily disable flaky test (). Fix test testpostgresqlreplicadatabaseengine2/test.py::testreplica_consumer (). Improve ColumnDecimal, ColumnVector getPermutation performance using pdqsort with RadixSort fix (). Fix black check (). Correctly grep fuzzer.log (). Parallel replicas: cleanup, less copying during announcement (). Enable testmutationsimple with the analyzer (). Improve enrich image (). Bump gRPC to v1.36.4 (). Attemp to fix testdictionariesredis flakiness (). Add diagnostic checks for issue (). Correct aggregate functions ser/deserialization to be endianness-independent. (). Bump gRPC to v1.37.1 (). Fix 00002logandexceptionmessages_formatting (). Fix caching objects in pygithub, and changelogs (). Update version_date.tsv and changelogs after v23.3.14.78-lts (). Update version_date.tsv and changelogs after v23.9.2.56-stable (). Update version_date.tsv and changelogs after v23.8.4.69-lts (). fix node setting in the test (). Add loadmetadatathreads to describe filesystem cache (). One final leftover in diff_urls of PRInfo (). Fix digest check in replicated ddl worker (). Test parallel replicas with rollup (). Fix some tests with Replicated database (). Update stress.py (). Revert "Revert "Revert "Add settings for real-time updates during query execution""" (). Make test `systemzookeeperconnection` better (). A test `01019altermaterializedviewconsistent` is unstable with Analyzer (). Remove C++ templates, because they are stupid (). Bump gRPC to v1.39.1 (). Add sanity check to RPNBuilderFunctionTreeNode (). Bump gRPC to v1.42.0 (). Set storage.haslightweightdelete_parts flag when a part has been loaded (). Include information about supported versions in bug report issue template (). arrayFold: Switch accumulator and array arguments (). Fix overrides via connections_credentials in case of root directives exists (). Test for Bug 43644 (). Bump protobuf to v3.19.6 (). Fix possible performance test error (). Avoid counting lost parts twice (). Convert unnecessary std::scopedlock usage to std::lockguard (). Stress tests: Try to wait until server is responsive after gdb detach (). teststorages3_queue - add debug info (). Bump protobuf to v21.9 (). Correct the implementation of function `jsonMergePatch` (). Fix 02438syncreplica_lightweight (). Fix some bad code by making it worse (). Fix bash completion for mawk (and update format list and add one more delimiter) (). Analyzer: Fix crash on window resolve (). Fix functionjsonvaluereturntypeallownullable setting name in doc (). Force shutdown in upgrade test (). Try enable `01154movepartition_long` with s3 (). Fix race condition between DROP_RANGE and committing existing block (). Fix flakiness of 02263lazymark_load (). Make the code less bloated (). Maybe smaller binary (). Remove old trash from unit tests (). Remove some bloat (). Fix testformatschemaonserver flakiness (). Fix: schedule delayed part checks correctly (). Beautify `show merges` (). Better options for disabling frame pointer omitting (). Fix: incorrect brace style in clang-format (). Do not try to activate covered parts when handilng unexpected parts (). Re-fix 'Block structure mismatch' on concurrent ALTER and INSERTs in Buffer table (). Update version_date.tsv and changelogs after v23.3.15.29-lts (). Update version_date.tsv and changelogs after v23.8.5.16-lts (). Update version_date.tsv and changelogs after v23.9.3.12-stable (). Update version_date.tsv and changelogs after v23.7.6.111-stable (). Fasttest timeout setting (). Use monotonic clock for part check scheduling (). More metrics for fs cache (). FileCache minor changes (). Update 01414mutationsanderrorszookeeper.sh (). Shard fs cache keys (). Do less work when there lots of read requests and watches for same paths (). Remove skipunusedshards tests from analyzer skiplist (). Easy tests fix for analyzer (). Add a warning if delayed accounting is not enabled (breaks OSIOWaitMicroseconds) (). Do not remove part if `Too many open files` is thrown (). Fix ORC commit (). Fix typo in largestTriangleThreeBuckets.md ().