> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# журнал изменений v26.2 для Cloud

> Журнал изменений для v26.2

<div id="backward-incompatible-changes">
  ## Несовместимые с предыдущими версиями изменения
</div>

<div id="query-and-syntax-changes">
  ### Изменения запросов и синтаксиса
</div>

* Исправлено непоследовательное форматирование запросов, вызванное некорректной подстановкой псевдонимов. Примечание: когда анализатор отключен, некоторые запросы `CREATE VIEW`, использующие `IN` со ссылкой на псевдоним, могут перестать обрабатываться. Чтобы избежать этого, убедитесь, что анализатор включен (по умолчанию он включен с версии 24.3). [#82838](https://github.com/ClickHouse/ClickHouse/pull/82838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Пустой список столбцов в `JOIN USING ()` теперь является синтаксической ошибкой. Ранее об этом сообщалось как об ошибке `INVALID_JOIN_ON_EXPRESSION` во время выполнения запроса, а в некоторых случаях (например, при JOIN с хранилищем `Join`) это могло приводить к `LOGICAL_ERROR`. [#92371](https://github.com/ClickHouse/ClickHouse/pull/92371) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Подзапросы больше не допускаются в `ORDER BY` и других ключевых выражениях таблицы. [#96847](https://github.com/ClickHouse/ClickHouse/pull/96847) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="data-type-changes">
  ### Изменения типов данных
</div>

* Добавлена поддержка `Nullable(Tuple)`. Чтобы включить её, установите `allow_experimental_nullable_tuple_type = 1`. [#89643](https://github.com/ClickHouse/ClickHouse/pull/89643) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Расширенное хранение общих данных для типа JSON теперь включено по умолчанию. Понизить версию до более ранней, чем 25.8, будет невозможно, так как старые версии не могут читать части данных, записанные в новом формате JSON. Для безопасного обновления установите настройку `compatibility` на предыдущую версию или задайте настройки MergeTree `dynamic_serialization_version='v2'` и `object_serialization_version='v2'`. [#92511](https://github.com/ClickHouse/ClickHouse/pull/92511) ([Pavel Kruglov](https://github.com/Avogar)).
* `SKIP REGEXP` в типе JSON теперь по умолчанию использует частичное совпадение. [#92847](https://github.com/ClickHouse/ClickHouse/pull/92847) ([Pavel Kruglov](https://github.com/Avogar)).
* Исправлена логическая ошибка, возникавшая при несовпадении типов `Variant`. [#95811](https://github.com/ClickHouse/ClickHouse/pull/95811) ([Bharat Nallan](https://github.com/bharatnc)).
* Столбцы `DATE` из PostgreSQL теперь в ClickHouse автоматически определяются как `Date32` (раньше они определялись как `Date`, что могло вызывать переполнение для значений за пределами его узкого диапазона). Теперь также поддерживается вставка значений `Date32` обратно в PostgreSQL. [#95999](https://github.com/ClickHouse/ClickHouse/pull/95999) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="storage-and-index-changes">
  ### Изменения в хранилище и индексах
</div>

* Улучшена структура хранения инвертированного текстового индекса для более эффективного чтения из Объектного хранилища, а также повышена производительность операций слияния для таблиц с инвертированными текстовыми индексами. Если вы использовали экспериментальный текстовый индекс до версии 25.12, перед обновлением необходимо удалить индекс и заново построить его в новой версии. [#91518](https://github.com/ClickHouse/ClickHouse/pull/91518) ([Anton Popov](https://github.com/CurtizJ)).
* Формат хранения статистики изменился — теперь вся статистика хранится в одном файле. [#93414](https://github.com/ClickHouse/ClickHouse/pull/93414) ([Anton Popov](https://github.com/CurtizJ)).
* Имена файлов индексов теперь экранируются, чтобы избежать повреждения частей. ClickHouse не сможет загрузить индексы с символами вне ASCII в имени, созданные в предыдущих версиях. Для этого используйте настройку MergeTree `escape_index_filenames`. [#94079](https://github.com/ClickHouse/ClickHouse/pull/94079) ([Raúl Marín](https://github.com/Algunenano)).

<div id="removed-features">
  ### Удалённые возможности
</div>

* Кодеки `DEFLATE_QPL` и `ZSTD_QAT` удалены. Перед обновлением перекодируйте все существующие данные, сжатые этими кодеками, с использованием другого кодека. Обратите внимание, что ранее для использования этих кодеков требовалось включить `enable_deflate_qpl_codec` или `enable_zstd_qat_codec`. [#92150](https://github.com/ClickHouse/ClickHouse/pull/92150) ([Robert Schulze](https://github.com/rschu1ze)).
* `INSERT` в простые столбцы `ALIAS` больше не поддерживается (отмена [#84154](https://github.com/ClickHouse/ClickHouse/issues/84154)). Эта возможность не работала с пользовательскими форматами и не контролировалась отдельной настройкой. [#92849](https://github.com/ClickHouse/ClickHouse/pull/92849) ([Azat Khuzhin](https://github.com/azat)).
* Движок базы данных `Lazy` удалён и больше недоступен. [#93627](https://github.com/ClickHouse/ClickHouse/pull/93627) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Режим `transposed_with_wide_view` у `metric_log` удалён из-за ошибки, которая делала его непригодным для использования. Определять `system.metric_log` с этим режимом больше нельзя. [#93867](https://github.com/ClickHouse/ClickHouse/pull/93867) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="settings-and-configuration-changes">
  ### Изменения настроек и конфигурации
</div>

* Новая настройка теперь генерирует ошибку, если каталог озера данных не имеет доступа к объектному хранилищу. [#93606](https://github.com/ClickHouse/ClickHouse/pull/93606) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Планирование CPU для рабочих нагрузок теперь по умолчанию выполняется с вытеснением. См. настройку сервера `cpu_slot_preemption`. [#94060](https://github.com/ClickHouse/ClickHouse/pull/94060) ([Sergei Trifonov](https://github.com/serxa)).
* Настройки `exact_rows_before_limit`, `rows_before_aggregation`, `cross_to_inner_join_rewrite`, `regexp_dict_allow_hyperscan`, `regexp_dict_flag_case_insensitive`, `regexp_dict_flag_dotall` и `dictionary_use_async_executor` были переклассифицированы из настроек формата в обычные настройки. В основном это внутреннее изменение без заметных для пользователя побочных эффектов, если только вы не указали какую-либо из них в определении движка таблицы Iceberg, DeltaLake, Kafka, S3, S3Queue, Azure, Hive, RabbitMQ, Set, FileLog или NATS — в таком случае в этих определениях теперь будет возникать ошибка вместо их молчаливого игнорирования. [#94106](https://github.com/ClickHouse/ClickHouse/pull/94106) ([Robert Schulze](https://github.com/rschu1ze)).
* Семантика `do_not_merge_across_partitions_select_final` была упрощена. Ранее эта возможность могла автоматически включаться даже без явной установки, что вызывало путаницу и проблемы в продакшне. Теперь: значение `1` безусловно включает эту функциональность, а значение `0` передает решение новой настройке `enable_automatic_decision_for_merging_across_partitions_for_final` (по умолчанию `1`). [#96110](https://github.com/ClickHouse/ClickHouse/pull/96110) ([Nikita Taranov](https://github.com/nickitat)).
* Добавлена валидация схемы S3. [#96194](https://github.com/ClickHouse/ClickHouse/pull/96194) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Настройка `apply_row_policy_after_final` теперь включена по умолчанию, что гарантирует, что `ROW POLICY` учитывает `FINAL`, как это и было изначально. Если ранее вы полагались на `optimize_move_to_prewhere_if_final=1`, чтобы применять политики строк до `FINAL`, используйте вместо этого `apply_row_policy_after_final=0`. [#97279](https://github.com/ClickHouse/ClickHouse/pull/97279) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

<div id="security-and-access-control-changes">
  ### Изменения в безопасности и управлении доступом
</div>

* `joinGet`/`joinGetOrNull` теперь требуют привилегию `SELECT` для лежащей в основе таблицы Join. Для выполнения `joinGet('db.table', 'column', key)` нужна привилегия `SELECT` как для столбцов ключа, так и для извлекаемого столбца атрибута. Запросы без этих привилегий завершатся ошибкой `ACCESS_DENIED`. Для миграции выдайте привилегии с помощью `GRANT SELECT ON db.join_table TO user` для полного доступа к таблице или `GRANT SELECT(key_col, attr_col) ON db.join_table TO user` для доступа на уровне столбцов. [#94307](https://github.com/ClickHouse/ClickHouse/pull/94307) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Запросы `CREATE TABLE ... AS ...` теперь требуют привилегию `SHOW COLUMNS` вместо `SHOW TABLES`, которая раньше проверялась некорректно. [#94556](https://github.com/ClickHouse/ClickHouse/pull/94556) ([pufit](https://github.com/pufit)).

<div id="insert-and-deduplication-changes">
  ### Изменения вставки и дедупликации
</div>

* Дедупликация теперь включена по умолчанию для всех вставок. Ранее она была отключена для асинхронных вставок и materialized view, но включена для синхронных вставок. Чтобы сохранить прежнее поведение, явно задайте `deduplicate_insert='backward_compatible_choice'` (и аналогично для `deduplicate_blocks_in_dependent_materialized_views`). [#95970](https://github.com/ClickHouse/ClickHouse/pull/95970) ([Sema Checherinda](https://github.com/CheSema)).

<div id="system-table-changes">
  ### Изменения системных таблиц
</div>

* Объём метаданных S3Queue и AzureQueue, хранящихся в памяти, теперь ограничен. Системные таблицы были переименованы: `system.s3queue` теперь называется `system.s3queue_metadata_cache`, а `system.azure_queue` — `system.azure_queue_metadata_cache`. [#95809](https://github.com/ClickHouse/ClickHouse/pull/95809) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="other-breaking-changes">
  ### Другие несовместимые изменения
</div>

* Исправлены функции индекса H3, которые могли приводить к аварийному завершению или зависанию при вызове с недопустимыми входными данными. [#93657](https://github.com/ClickHouse/ClickHouse/pull/93657) ([Michael Kolupaev](https://github.com/al13n321)).

<div id="new-features">
  ## Новые возможности
</div>

<div id="authentication">
  ### Аутентификация
</div>

* Добавлена поддержка TOTP (одноразового пароля на основе времени) в качестве метода аутентификации. [#71273](https://github.com/ClickHouse/ClickHouse/pull/71273) ([Vladimir Cherkasov](https://github.com/vdimir)).

<div id="functions">
  ### Функции
</div>

* Добавлена функция `reverseBySeparator`, которая меняет порядок подстрок в строке, разделённых указанным разделителем. [#91780](https://github.com/ClickHouse/ClickHouse/pull/91780) ([Xuewei Wang](https://github.com/Sallery-X)).
* Добавлены функции `colorOKLABToSRGB` и `colorSRGBToOKLAB` для преобразования между цветовыми пространствами sRGB и OKLAB. [#93361](https://github.com/ClickHouse/ClickHouse/pull/93361) ([Pranav Tiwari](https://github.com/pranavt84)).
* Добавлена функция `cosineDistanceTransposed`, которая приближённо вычисляет [косинусное расстояние](https://en.wikipedia.org/wiki/Cosine_similarity#Cosine_distance) между двумя точками. [#93621](https://github.com/ClickHouse/ClickHouse/pull/93621) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Добавлена хеш-функция `xxh3_128`. [#96055](https://github.com/ClickHouse/ClickHouse/pull/96055) ([Raúl Marín](https://github.com/Algunenano)).
* Добавлена функция `mergeTreeAnalyzeIndex()` для анализа использования индекса MergeTree. [#92954](https://github.com/ClickHouse/ClickHouse/pull/92954) ([Azat Khuzhin](https://github.com/azat)).
* Функции теперь поддерживают тип `Variant` через новый `FunctionVariantAdaptor`. [#90900](https://github.com/ClickHouse/ClickHouse/pull/90900) ([Bharat Nallan](https://github.com/bharatnc)).
* Некоторые функции теперь можно вызывать в SQL без круглых скобок. [#94678](https://github.com/ClickHouse/ClickHouse/pull/94678) ([Aly Kafoury](https://github.com/AlyHKafoury)).

<div id="system-tables">
  ### Системные таблицы
</div>

* Добавлена таблица `system.user_defined_functions` для мониторинга статуса загрузки и конфигурации UDF. [#90340](https://github.com/ClickHouse/ClickHouse/pull/90340) ([Xu Jia](https://github.com/XuJia0210)).
* Добавлена таблица `system.zookeeper_info`. [#90809](https://github.com/ClickHouse/ClickHouse/pull/90809) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Добавлены таблица `system.primes` и табличная функция `primes`, содержащая простые числа в порядке возрастания. [#92776](https://github.com/ClickHouse/ClickHouse/pull/92776) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* В таблицу `system.parts` добавлен столбец `files`, показывающий количество файлов в каждой части данных. [#94337](https://github.com/ClickHouse/ClickHouse/pull/94337) ([Match](https://github.com/gayanMatch)).
* Добавлена таблица `system.fail_points` для просмотра существующих failpoint и проверки, включены ли они. [#96762](https://github.com/ClickHouse/ClickHouse/pull/96762) ([Pedro Ferreira](https://github.com/PedroTadim)).

<div id="table-engines-and-storage">
  ### Движки таблиц и хранилище
</div>

* Добавлена поддержка текстового индекса для столбцов `Array`. [#89895](https://github.com/ClickHouse/ClickHouse/pull/89895) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Добавлена поддержка REST-каталога Paimon. [#92011](https://github.com/ClickHouse/ClickHouse/pull/92011) ([JIaQi Tang](https://github.com/JiaQiTang98)).
* Добавлена табличная функция `icebergLocalCluster`. [#93323](https://github.com/ClickHouse/ClickHouse/pull/93323) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Добавлена настройка базы данных `lazy_load_tables`. Когда она включена, таблицы не загружаются при запуске базы данных — вместо них создается облегченный `StorageTableProxy`, а реальный движок таблицы материализуется при первом обращении. [#96283](https://github.com/ClickHouse/ClickHouse/pull/96283) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Добавлена поддержка вспомогательного ZooKeeper для `DatabaseReplicated`. [#91683](https://github.com/ClickHouse/ClickHouse/pull/91683) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Файлы данных и системные файлы в кэше теперь можно разбивать на отдельные сегменты. [#87834](https://github.com/ClickHouse/ClickHouse/pull/87834) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Добавлен новый SLRU-кэш для метаданных Parquet, который повышает производительность чтения, предотвращая избыточные загрузки файлов. Кэш можно сбросить с помощью `SYSTEM DROP PARQUET METADATA CACHE`. [#89750](https://github.com/ClickHouse/ClickHouse/pull/89750) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* Таблицы озера данных теперь поддерживают `PREWHERE` и многоэтапный `PREWHERE` в ридере Parquet v3. [#93542](https://github.com/ClickHouse/ClickHouse/pull/93542) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Добавлен распределенный анализ индексов на нескольких репликах, полезный при использовании общего хранилища и больших объемов данных. [#86786](https://github.com/ClickHouse/ClickHouse/pull/86786) ([Azat Khuzhin](https://github.com/azat)).

<div id="insert-and-deduplication">
  ### Вставка и дедупликация
</div>

* Дедупликация при асинхронной вставке теперь работает с зависимыми materialized view. При коллизии `block_id` исходный блок фильтруется: из него удаляются строки, связанные с конфликтующим `block_id`, а оставшиеся строки обрабатываются всеми соответствующими запросами materialized view. [#89140](https://github.com/ClickHouse/ClickHouse/pull/89140) ([Sema Checherinda](https://github.com/CheSema)).
* Асинхронная вставка теперь поддерживает параллельный quorum — вставленные данные реплицируются в кворум, и при обнаружении дубликатов запрос ожидает, пока ранее вставленные данные тоже не будут реплицированы. [#93356](https://github.com/ClickHouse/ClickHouse/pull/93356) ([Sema Checherinda](https://github.com/CheSema)).
* Добавлена настройка сервера `insert_deduplication_version` для перехода на унифицированный хеш дедупликации. [#95409](https://github.com/ClickHouse/ClickHouse/pull/95409) ([Sema Checherinda](https://github.com/CheSema)).
* Начата миграция хешей дедупликации. [#97562](https://github.com/ClickHouse/ClickHouse/pull/97562) ([Sema Checherinda](https://github.com/CheSema)).

<div id="sql-and-query-features">
  ### SQL и возможности запросов
</div>

* Добавлен синтаксис `SYSTEM CLEAR [...] CACHE` как более понятная альтернатива существующему `SYSTEM DROP [...] CACHE`. Старый синтаксис по-прежнему доступен. [#93727](https://github.com/ClickHouse/ClickHouse/pull/93727) ([Pranav Tiwari](https://github.com/pranavt84)).
* Добавлен запрос `OPTIMIZE <table> DRY RUN PARTS <part names>` для имитации слияний без коммита результирующей части. Полезно для проверки корректности слияния, воспроизведения ошибок, связанных со слиянием, и бенчмаркинга производительности слияний. [#96122](https://github.com/ClickHouse/ClickHouse/pull/96122) ([Anton Popov](https://github.com/CurtizJ)).
* DDL-запросы с `ON CLUSTER` теперь можно выполнять для баз данных Replicated, если включен параметр `ignore_on_cluster_for_replicated_database`. Имя кластера будет игнорироваться. [#92872](https://github.com/ClickHouse/ClickHouse/pull/92872) ([Kirill](https://github.com/kirillgarbar)).
* Представлены новый синтаксис и новый фреймворк, упрощающие и расширяющие функциональность индексов-проекций. [#91844](https://github.com/ClickHouse/ClickHouse/pull/91844) ([Amos Bird](https://github.com/amosbird)).

<div id="settings-and-configuration">
  ### Настройки и конфигурация
</div>

* Добавлена настройка `max_insert_block_size_bytes` для более точного управления формированием вставляемых блоков. [#92833](https://github.com/ClickHouse/ClickHouse/pull/92833) ([Kirill Kopnev](https://github.com/Fgrtue)).
* Добавлена настройка `use_primary_key`. Установите её в `false`, чтобы отключить pruning гранул на основе primary key. [#93319](https://github.com/ClickHouse/ClickHouse/pull/93319) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Добавлена настройка `default_dictionary_database`, которая позволяет ClickHouse разрешать external dictionaries, указанные без квалификатора базы данных, в заданной базе данных по умолчанию. Это упрощает migration с глобальных словарей, определённых в XML, на словари отдельных баз данных, определённые в SQL. [#91412](https://github.com/ClickHouse/ClickHouse/pull/91412) ([Dmitrii Plotnikov](https://github.com/dimbo4ka)).
* Добавлена настройка `check_named_collection_dependencies` (включена по умолчанию), чтобы предотвратить удаление именованных коллекций, используемых таблицами. [#96181](https://github.com/ClickHouse/ClickHouse/pull/96181) ([Pablo Marcos](https://github.com/pamarcos)).
* Добавлен планировщик max-min fair для управления параллелизмом, который обеспечивает более справедливое распределение ресурсов при высокой переподписке, когда множество запросов конкурируют за ограниченные слоты CPU. Теперь настройка сервера `concurrent_threads_scheduler` по умолчанию использует `max_min_fair` вместо `fair_round_robin`, поэтому короткие запросы больше не оказываются в невыгодном положении из-за длительных. [#94732](https://github.com/ClickHouse/ClickHouse/pull/94732) [#95300](https://github.com/ClickHouse/ClickHouse/pull/95300) ([Sergei Trifonov](https://github.com/serxa)).
* Добавлены параметры конфигурации `logger.startup_console_level` и `logger.shutdown_console_level`, которые позволяют переопределять уровень логирования в консоли во время запуска и остановки ClickHouse соответственно. [#95919](https://github.com/ClickHouse/ClickHouse/pull/95919) ([Garrett Thomas](https://github.com/garrettthomaskth)).

<div id="monitoring">
  ### Мониторинг
</div>

* В конечную точку Prometheus `/metrics` добавлена метрика `ClickHouse_Info` с информацией о версии, что позволяет строить графики и отслеживать подробные сведения о версии с течением времени. [#91125](https://github.com/ClickHouse/ClickHouse/pull/91125) ([Christoph Wurm](https://github.com/cwurm)).

<div id="experimental-features">
  ## Экспериментальные возможности
</div>

* Векторный поиск теперь может распределять нагрузку между репликами в кластере, что позволяет использовать большие векторные индексы, которые превышают объем памяти одной виртуальной машины. [#95876](https://github.com/ClickHouse/ClickHouse/pull/95876) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Добавлен серверный AST-фаззер, управляемый настройками `ast_fuzzer_runs` и `ast_fuzzer_any_query`. Когда он включен, сервер после обычного выполнения каждого запроса запускает его случайные мутации и отбрасывает результаты. [#97568](https://github.com/ClickHouse/ClickHouse/pull/97568) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="improvements">
  ## Улучшения
</div>

<div id="query-and-sql-improvements">
  ### Запросы и SQL
</div>

* Коррелированные подзапросы теперь поддерживают больше движков таблиц и типов источников данных. [#90175](https://github.com/ClickHouse/ClickHouse/pull/90175) ([Dmitry Novik](https://github.com/novikd)).
* Теперь неконстантный `IN` поддерживается и для скалярных значений (например, `val1 NOT IN if(cond, val2, val3)`). [#93495](https://github.com/ClickHouse/ClickHouse/pull/93495) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Добавлена поддержка расширенных псевдонимов таблиц в JOIN (например, `SELECT * FROM (SELECT 1) AS t(a) JOIN (SELECT 1) AS u(b) ON a = b`). [#95331](https://github.com/ClickHouse/ClickHouse/pull/95331) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Теперь `EXPLAIN indices = 1` также поддерживается как алиас для `EXPLAIN indexes = 1`. [#92774](https://github.com/ClickHouse/ClickHouse/pull/92774) ([Pranav Tiwari](https://github.com/pranavt84)).
* Улучшен pushdown фильтра для табличных функций `numbers` и `primes` — теперь ClickHouse может выводить консервативные границы значений на основе условий `WHERE`, чтобы ограничивать генерацию последовательностей и избегать неограниченного сканирования. [#96115](https://github.com/ClickHouse/ClickHouse/pull/96115) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Оптимизация эквивалентных множеств теперь работает для нескольких последовательных операций `INNER JOIN`, поэтому фильтры, применённые к любой таблице в цепочке, автоматически проталкиваются во все связанные таблицы. [#96596](https://github.com/ClickHouse/ClickHouse/pull/96596) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Теперь для отдельных подзапросов в `FROM` используются автоматические кластерные табличные функции. [#96332](https://github.com/ClickHouse/ClickHouse/pull/96332) ([phulv94](https://github.com/phulv94)).
* Индекс первичного ключа теперь используется при фильтрации с помощью `startsWithUTF8`, если префикс содержит только символы ASCII. [#97055](https://github.com/ClickHouse/ClickHouse/pull/97055) ([vkcku](https://github.com/vkcku)).
* `assumeNotNull`, `coalesce` и `ifNull` теперь поддерживают отсечение по первичному ключу и индексу пропуска данных для диапазонных предикатов, когда столбцы ключа обёрнуты в эти функции. [#94754](https://github.com/ClickHouse/ClickHouse/pull/94754) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Неиспользуемые столбцы теперь также исключаются уже на этапе чтения при чтении из MergeTree, что особенно полезно, когда фильтр проталкивается в `PREWHERE`. [#89982](https://github.com/ClickHouse/ClickHouse/pull/89982) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Оптимизация `use_join_disjunctions_push_down` теперь включена по умолчанию. [#89313](https://github.com/ClickHouse/ClickHouse/pull/89313) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Оптимизация `enable_join_runtime_filters` теперь включена по умолчанию. [#89314](https://github.com/ClickHouse/ClickHouse/pull/89314) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Накладные расходы на runtime filter в JOIN теперь снижены благодаря автоматическому отключению фильтров, если в фильтре Блума установлено слишком много битов или отфильтровывается слишком мало строк. [#91578](https://github.com/ClickHouse/ClickHouse/pull/91578) ([Alexander Gololobov](https://github.com/davenger)).
* Добавлена настройка `use_hash_table_stats_for_join_reordering` (включена по умолчанию), управляющая использованием статистики о размере хеш-таблицы во время выполнения для переупорядочивания JOIN. [#93912](https://github.com/ClickHouse/ClickHouse/pull/93912) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Анализ индексов теперь выполняется только один раз — независимо от того, выполняется ли запрос локально или с использованием параллельных реплик. [#94854](https://github.com/ClickHouse/ClickHouse/pull/94854) ([Nikita Taranov](https://github.com/nickitat)).
* Если индекс пропуска данных в запросе `FINAL` построен по столбцу, который входит в первичный ключ, дополнительная проверка пересечения по первичному ключу в других частях теперь не выполняется. [#93899](https://github.com/ClickHouse/ClickHouse/pull/93899) ([Shankar Iyer](https://github.com/shankar-iyer)).
* `DROP DATABASE` теперь удаляет таблицы в порядке, обратном зависимостям, что повышает устойчивость к сбоям, если база данных содержит таблицы с зависимостями, связанными с загрузкой. [#97057](https://github.com/ClickHouse/ClickHouse/pull/97057) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Синхронное ожидание мутаций теперь учитывает отмену запроса и временные ограничения. [#96756](https://github.com/ClickHouse/ClickHouse/pull/96756) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Предотвращено повторное появление удалённых данных, если `ADD COLUMN` выполняется слишком быстро после мутации `DROP COLUMN`. [#96713](https://github.com/ClickHouse/ClickHouse/pull/96713) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Конфликтующие выражения `ALTER` с `UPDATE` и `RENAME COLUMN` теперь приводят к корректному Исключению вместо логической ошибки. [#96022](https://github.com/ClickHouse/ClickHouse/pull/96022) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Теперь для столбцов ключа агрегации собирается статистика по оценочному общему количеству строк и NDV (числу различных значений). [#92812](https://github.com/ClickHouse/ClickHouse/pull/92812) ([Alexander Gololobov](https://github.com/davenger)).
* Теперь при чтении с параллельными репликами все реплики могут параллельно перехватывать осиротевшие диапазоны, что улучшает балансировку нагрузки и снижает хвостовую задержку. [#91374](https://github.com/ClickHouse/ClickHouse/pull/91374) ([zoomxi](https://github.com/zoomxi)).
* Повышена точность оценки для автоматического режима параллельных реплик при использовании высокоселективных фильтров `PREWHERE`. [#97231](https://github.com/ClickHouse/ClickHouse/pull/97231) ([Nikita Taranov](https://github.com/nickitat)).
* `joinGet` теперь поддерживает временные таблицы. [#92973](https://github.com/ClickHouse/ClickHouse/pull/92973) ([Eduard Karacharov](https://github.com/korowa)).
* Внешняя агрегация, сортировка и JOIN теперь во всех случаях учитывают настройку запроса `temporary_files_codec`. [#92388](https://github.com/ClickHouse/ClickHouse/pull/92388) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Оптимизации плана поиска по векторному сходству теперь применяются только при наличии индекса для столбца, по которому выполняется поиск. [#94998](https://github.com/ClickHouse/ClickHouse/pull/94998) ([Eduard Karacharov](https://github.com/korowa)).

<div id="table-engines-and-storage">
  ### Движки таблиц и хранилище
</div>

* `StorageEmbeddedRocksDB` теперь поддерживает несколько столбцов в качестве первичного ключа. [#33917](https://github.com/ClickHouse/ClickHouse/pull/33917) ([usurai](https://github.com/usurai)).
* Добавлен синтаксис `ALTER TABLE <table> ATTACH PART <part_name> FROM <directory_name>`, позволяющий подключать части из произвольных подкаталогов `detached/` (например, части с префиксами `broken-on-start` или `unexpected`) без ручного переименования в файловой системе. [#74816](https://github.com/ClickHouse/ClickHouse/pull/74816) ([Anton Popov](https://github.com/CurtizJ)).
* `min_free_disk_bytes_to_perform_insert` теперь корректно работает с томами JBOD. [#90878](https://github.com/ClickHouse/ClickHouse/pull/90878) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* `max_parts_to_merge_at_once` теперь учитывается при TTL-слияниях с удалением частей. [#95315](https://github.com/ClickHouse/ClickHouse/pull/95315) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Фоновые операции (mutate, merge) теперь можно настраивать независимо через профиль `background`, а не делить настройки с обычными запросами через профиль `default`. [#93905](https://github.com/ClickHouse/ClickHouse/pull/93905) ([Arsen Muk](https://github.com/arsenmuk)).
* Улучшено чтение подстолбцов с корректным вычислением размера, что снижает использование памяти и повышает скорость. [#96251](https://github.com/ClickHouse/ClickHouse/pull/96251) ([Pavel Kruglov](https://github.com/Avogar)).
* Ограничено количество потоков в конвейере, создаваемых с `split_intersecting_parts_ranges_into_layers`, чтобы избежать чрезмерного потребления памяти. [#96478](https://github.com/ClickHouse/ClickHouse/pull/96478) ([Nikita Taranov](https://github.com/nickitat)).
* Текстовый индекс теперь доступен в статусе GA. [#96794](https://github.com/ClickHouse/ClickHouse/pull/96794) ([Robert Schulze](https://github.com/rschu1ze)).
* `QBit` теперь доступен в статусе GA. [#95358](https://github.com/ClickHouse/ClickHouse/pull/95358) ([Raufs Dunamalijevs](https://github.com/rienath)).
* `QBit` теперь можно сравнивать на равенство. [#94078](https://github.com/ClickHouse/ClickHouse/pull/94078) ([Raufs Dunamalijevs](https://github.com/rienath)).
* При сохранении схемы таблицы с `enable_positional_arguments_for_projections` теперь подставляются выражения вместо позиционных аргументов, что позволяет перезапускать сервер с отключённой настройкой. [#96372](https://github.com/ClickHouse/ClickHouse/pull/96372) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* В базах данных Replicated кэш кластера больше не обновляется для каждого фиктивного запроса. [#96897](https://github.com/ClickHouse/ClickHouse/pull/96897) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Добавлен запрос `SYSTEM RESET DDL WORKER [ON CLUSTER]` для сброса состояния DDLWorker; это полезно для обновления сведений об активности реплик при изменении идентификаторов хостов. [#93780](https://github.com/ClickHouse/ClickHouse/pull/93780) ([Tuan Pham Anh](https://github.com/tuanpach)).

<div id="data-lakes-improvements">
  ### Озера данных
</div>

* Добавлена поддержка векторов удаления в DeltaLake. [#93852](https://github.com/ClickHouse/ClickHouse/pull/93852) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Векторы удаления теперь также поддерживаются в `deltaLakeCluster`. [#94365](https://github.com/ClickHouse/ClickHouse/pull/94365) ([Kseniia Sumarokova](https://github.com/kssenii)).
* DeltaLake теперь доступен на macOS. [#95985](https://github.com/ClickHouse/ClickHouse/pull/95985) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* DeltaLake теперь берет результаты `count()` из метаданных и показывает корректную статистику таблицы (общее число байт/строк) в `system.tables`. [#96190](https://github.com/ClickHouse/ClickHouse/pull/96190) ([Kseniia Sumarokova](https://github.com/kssenii)).
* При запросах к таблицам DeltaLake из `system.tables` чтение из объектного хранилища теперь пропускается. [#95899](https://github.com/ClickHouse/ClickHouse/pull/95899) ([Antonio Andelic](https://github.com/antonio2368)).
* Добавлена команда `SYSTEM RELOAD DELTA KERNEL TRACING <level>` для отладки журналирования delta-kernel. [#96763](https://github.com/ClickHouse/ClickHouse/pull/96763) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Расположение метаданных таблицы Iceberg теперь определяется автоматически, если `metadata_location` не указан в метаданных Glue. [#91994](https://github.com/ClickHouse/ClickHouse/pull/91994) ([Andrey Zvonov](https://github.com/zvonand)).
* Записи в manifest file Iceberg теперь разбирают нижние и верхние границы для имен файлов position delete file, что улучшает выбор файлов данных. [#93980](https://github.com/ClickHouse/ClickHouse/pull/93980) ([Daniil Ivanik](https://github.com/divanik)).
* Для таблиц Iceberg включена оптимизация `PREWHERE`. [#95476](https://github.com/ClickHouse/ClickHouse/pull/95476) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Лимиты потоков и памяти теперь общие для средств чтения файлов данных и position delete file в таблицах Iceberg. [#94701](https://github.com/ClickHouse/ClickHouse/pull/94701) ([Yang Jiang](https://github.com/Ted-Jiang)).
* Добавлена поддержка `ALTER TABLE RENAME COLUMN` для таблиц Iceberg. [#97455](https://github.com/ClickHouse/ClickHouse/pull/97455) ([murphy-4o](https://github.com/murphy-4o)).
* Добавлена поддержка Google Cloud Storage для озер данных. [#93866](https://github.com/ClickHouse/ClickHouse/pull/93866) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Токены доступа S3 теперь динамически обновляются во время длительных запросов с Unity Catalog. [#95069](https://github.com/ClickHouse/ClickHouse/pull/95069) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Добавлен ролевой доступ к каталогу Glue через настройки `aws_role_arn` и `aws_role_session_name`. [#90825](https://github.com/ClickHouse/ClickHouse/pull/90825) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="s3queue-improvements">
  ### S3Queue
</div>

* S3Queue теперь отслеживает партиционирование Hive в упорядоченном режиме. [#81040](https://github.com/ClickHouse/ClickHouse/pull/81040) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Переработана обработка S3Queue в упорядоченном режиме с использованием бакетов, что сокращает число запросов к Keeper и повышает производительность. [#92889](https://github.com/ClickHouse/ClickHouse/pull/92889) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Добавлена более универсальная поддержка партиционирования для S3Queue в упорядоченном режиме. [#94321](https://github.com/ClickHouse/ClickHouse/pull/94321) ([Bharat Nallan](https://github.com/bharatnc)).
* Для S3Queue в упорядоченном режиме добавлено разбиение на бакеты на основе ключа партиционирования. [#94698](https://github.com/ClickHouse/ClickHouse/pull/94698) ([Bharat Nallan](https://github.com/bharatnc)).
* Добавлена поддержка экземпляра ZooKeeper в S3Queue через настройку `keeper_path`. [#95203](https://github.com/ClickHouse/ClickHouse/pull/95203) ([Diego Nieto](https://github.com/lesandie)).
* В упорядоченном режиме S3(Azure)Queue теперь очищает сбойные узлы за счёт отслеживания лимитов. [#94412](https://github.com/ClickHouse/ClickHouse/pull/94412) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="s3-and-object-storage-improvements">
  ### S3 и объектное хранилище
</div>

* Заголовки S3 `x-amz-server-side-encryption` больше не добавляются в запросы `HeadObject`, `UploadPart` и `CompleteMultipartUpload`. [#64577](https://github.com/ClickHouse/ClickHouse/pull/64577) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* `storage_class_name` теперь можно указывать в именованных коллекциях для движка таблицы S3 и табличной функции `s3`. [#91926](https://github.com/ClickHouse/ClickHouse/pull/91926) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Исправлена проблема с ограничением запросов к конечной точке метаданных EC2 при выполнении большого количества параллельных S3-запросов с учетными данными профиля экземпляра — теперь поставщик учетных данных кэшируется и используется всеми запросами совместно. [#92891](https://github.com/ClickHouse/ClickHouse/pull/92891) ([Sav](https://github.com/sberss)).
* Добавлена поддержка совместимости AWS S3 C++ SDK с MinIO, включая сопоставление кодов ошибок для специфичных для MinIO ошибок, что повышает надежность самоуправляемых кластеров MinIO. [#93082](https://github.com/ClickHouse/ClickHouse/pull/93082) ([XiaoBinMu](https://github.com/Binnn-MX)).
* Улучшены сообщения об ошибках аутентификации S3: в них добавлены подсказки проверить учетные данные. [#95648](https://github.com/ClickHouse/ClickHouse/pull/95648) ([Gerald Latkovic](https://github.com/batkovic75)).
* Azure Blob Storage теперь переключается на копирование с возможностью чтения и записи, если нативное копирование завершается с любой ошибкой (ранее — только при Unauthorized). [#92888](https://github.com/ClickHouse/ClickHouse/pull/92888) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).

<div id="functions">
  ### Функции
</div>

* `avg()` теперь поддерживает значения `Date`, `DateTime` и `Time` в качестве аргументов. [#87845](https://github.com/ClickHouse/ClickHouse/pull/87845) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `mapContainsKeyLike` и `mapContainsValueLike` теперь могут использовать текстовый индекс для `mapKeys()` или `mapValues()`. [#93049](https://github.com/ClickHouse/ClickHouse/pull/93049) ([Michael Jarrett](https://github.com/EmeraldShift)).
* `flipCoordinates` теперь поддерживает тип `Geometry`. [#93303](https://github.com/ClickHouse/ClickHouse/pull/93303) ([Bharat Nallan](https://github.com/bharatnc)).
* Для функций `hasAnyTokens` и `hasAllTokens` снято ограничение в 64 токена. [#95152](https://github.com/ClickHouse/ClickHouse/pull/95152) ([Elmi Ahmadov](https://github.com/ahmadov)).
* `distanceCosine` добавлен как псевдоним для `cosineDistance` в соответствии с другими функциями расстояния. [#96065](https://github.com/ClickHouse/ClickHouse/pull/96065) ([Raufs Dunamalijevs](https://github.com/rienath)).
* В ClickHouse KQL добавлена функция `iif`. [#94790](https://github.com/ClickHouse/ClickHouse/pull/94790) ([happyso](https://github.com/sunyeongchoi)).
* `use_variant_as_common_type` теперь включен по умолчанию, что позволяет использовать несовместимые типы в `Array`, запросах `UNION` и ветвях `if`/`multiIf`/`case`. [#90677](https://github.com/ClickHouse/ClickHouse/pull/90677) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="settings-and-configuration">
  ### Настройки и конфигурация
</div>

* `use_skip_indexes_on_data_read` теперь включён по умолчанию. [#93407](https://github.com/ClickHouse/ClickHouse/pull/93407) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Добавлена настройка `add_minmax_index_for_time_columns` — при включении она автоматически создает minmax-индексы для всех столбцов `Date`, `Date32`, `Time`, `Time64`, `DateTime` и `DateTime64`. [#93355](https://github.com/ClickHouse/ClickHouse/pull/93355) ([Michael Jarrett](https://github.com/EmeraldShift)).
* Добавлена настройка `materialize_statistics_on_merge` (по умолчанию включена), которая управляет тем, материализуется ли статистика при слияниях. [#93379](https://github.com/ClickHouse/ClickHouse/pull/93379) ([Han Fei](https://github.com/hanfei1991)).
* Добавлена настройка `input_format_binary_max_type_complexity`, ограничивающая общее количество узлов типов, которые можно декодировать в бинарном формате, что предотвращает вредоносные полезные нагрузки. [#92519](https://github.com/ClickHouse/ClickHouse/pull/92519) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Добавлена настройка `trace_profile_events_list`, чтобы ограничить трассировку с помощью `trace_profile_event` указанными именами событий. [#92298](https://github.com/ClickHouse/ClickHouse/pull/92298) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Добавлена настройка `type_json_allow_duplicated_key_with_literal_and_nested_object`, разрешающая дублирующиеся пути в JSON, когда один из них является литералом, а другой — вложенным объектом, для обратной совместимости с данными, созданными до введения обязательной дедупликации путей. [#93604](https://github.com/ClickHouse/ClickHouse/pull/93604) ([Pavel Kruglov](https://github.com/Avogar)).
* Добавлены настройка MergeTree `merge_max_dynamic_subcolumns_in_compact_part` и настройка на уровне запроса `max_dynamic_subcolumns_in_json_type_parsing`, чтобы ограничить динамические подстолбцы в JSON-столбцах при слиянии и парсинге. [#94184](https://github.com/ClickHouse/ClickHouse/pull/94184) ([Pavel Kruglov](https://github.com/Avogar)).
* Добавлен `use_statistics` в качестве псевдонима для `allow_statistics_optimize` — по аналогии с `use_primary_key` и `use_skip_indexes`. [#94366](https://github.com/ClickHouse/ClickHouse/pull/94366) ([Robert Schulze](https://github.com/rschu1ze)).
* Включена `input_format_numbers_enum_on_conversion_error` для проверки существования элемента при преобразовании чисел в Enum. [#94384](https://github.com/ClickHouse/ClickHouse/pull/94384) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Добавлена настройка, позволяющая сгенерировать исключение, если у таблицы есть политики строк, но ни одна из них не применяется к текущему пользователю, что помогает выявить возможные ошибки конфигурации. [#95014](https://github.com/ClickHouse/ClickHouse/pull/95014) ([Vitaly Baranov](https://github.com/vitlibar)).
* `enable_max_bytes_limit_for_min_age_to_force_merge` теперь включен по умолчанию для версий совместимости 26.2 и выше. [#95917](https://github.com/ClickHouse/ClickHouse/pull/95917) ([Christoph Wurm](https://github.com/cwurm)).
* `core_dump.size_limit` теперь поддерживает горячую перезагрузку без перезапуска сервера. [#96524](https://github.com/ClickHouse/ClickHouse/pull/96524) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Переопределения, заданные в командной строке, теперь учитываются при перезагрузке конфигурации. [#80295](https://github.com/ClickHouse/ClickHouse/pull/80295) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Добавлена комбинированная стратегия ротации (по размеру и времени) для серверных журналов. [#87620](https://github.com/ClickHouse/ClickHouse/pull/87620) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* Анализ распределенных индексов теперь можно включать в зависимости от количества частей (`distributed_index_analysis_min_parts_to_activate`) и размера индекса (`distributed_index_analysis_min_indexes_size_to_activate`). [#95216](https://github.com/ClickHouse/ClickHouse/pull/95216) ([Azat Khuzhin](https://github.com/azat)).
* Кэш статистики теперь включен по умолчанию; период обновления — 300 секунд. [#95841](https://github.com/ClickHouse/ClickHouse/pull/95841) ([Han Fei](https://github.com/hanfei1991)).
* Параметр конфигурации `path` теперь определяется относительно рабочего каталога при запуске, что предотвращает размещение каталогов данных в нестандартных местах. [#96305](https://github.com/ClickHouse/ClickHouse/pull/96305) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="system-tables-and-monitoring-improvements">
  ### Системные таблицы и мониторинг
</div>

* Добавлен столбец `parts_postpone_reasons` в `system.mutations` для улучшения диагностики. [#92206](https://github.com/ClickHouse/ClickHouse/pull/92206) ([Shaohua Wang](https://github.com/tiandiwonder)).
* Добавлен столбец `creation` (implicit/explicit) в `system.data_skipping_indices`. [#92378](https://github.com/ClickHouse/ClickHouse/pull/92378) ([Raúl Marín](https://github.com/Algunenano)).
* Выполняющиеся задачи теперь отображаются в `system.background_schedule_pool` и соответствующей таблице журнала. [#92587](https://github.com/ClickHouse/ClickHouse/pull/92587) ([Azat Khuzhin](https://github.com/azat)).
* Добавлена метрика `QueryNonInternal` для отслеживания числа выполняющихся не внутренних запросов, что помогает контролировать параллелизм относительно ограничения `max_concurrent_queries`. [#94284](https://github.com/ClickHouse/ClickHouse/pull/94284) ([Ashwath Singh](https://github.com/ashwath)).
* Добавлена асинхронная метрика времени выполнения самого длительного слияния. [#94825](https://github.com/ClickHouse/ClickHouse/pull/94825) ([Raúl Marín](https://github.com/Algunenano)).
* В `query_log` добавлены `connection_address` и `connection_port`, чтобы отражать физическое соединение (полезно при подключении через прокси). [#95471](https://github.com/ClickHouse/ClickHouse/pull/95471) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* В `system.crash_log` добавлено больше информации. [#94112](https://github.com/ClickHouse/ClickHouse/pull/94112) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* В `system.aggregated_zookeeper_log` добавлено имя компонента. [#95882](https://github.com/ClickHouse/ClickHouse/pull/95882) ([Antonio Andelic](https://github.com/antonio2368)).
* Добавлена таблица `system.tokenizers`, показывающая все доступные токенизаторы. [#96753](https://github.com/ClickHouse/ClickHouse/pull/96753) ([Robert Schulze](https://github.com/rschu1ze)).
* Добавлены таблица `system.jemalloc_stats` и HTTP-конечная точка `/jemalloc.html` для интерактивной визуализации статистики аллокатора памяти jemalloc. [#97077](https://github.com/ClickHouse/ClickHouse/pull/97077) ([Antonio Andelic](https://github.com/antonio2368)).
* Добавлена таблица `system.jemalloc_profile_text` для чтения и анализа профилей кучи jemalloc с поддержкой выходных форматов raw, symbolized и collapsed. [#97218](https://github.com/ClickHouse/ClickHouse/pull/97218) ([Antonio Andelic](https://github.com/antonio2368)).
* В `system.part_log` добавлены `mutation_ids` для событий `MUTATE_PART` и `MUTATE_PART_START`. [#93811](https://github.com/ClickHouse/ClickHouse/pull/93811) ([Shaohua Wang](https://github.com/tiandiwonder)).
* Вложенные глобальные настройки сервера (например, `logger.level`) теперь частично видны в `system.server_settings`. [#94001](https://github.com/ClickHouse/ClickHouse/pull/94001) ([Hechem Selmi](https://github.com/m-selmi)).
* `view_duration_ms` теперь показывает время, в течение которого группа была активна, а не сумму длительностей потоков. [#94966](https://github.com/ClickHouse/ClickHouse/pull/94966) ([Sema Checherinda](https://github.com/CheSema)).
* `system.blob_storage_log` теперь доступен для Azure Blob Storage, Local и HDFS. Добавлен столбец `error_code`. [#93105](https://github.com/ClickHouse/ClickHouse/pull/93105) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Фоновые задачи, выполняющиеся медленнее среднего, теперь записываются в журнал с настраиваемым порогом (`background_schedule_pool_log.duration_threshold_milliseconds`, по умолчанию 30 мс). [#92965](https://github.com/ClickHouse/ClickHouse/pull/92965) ([Azat Khuzhin](https://github.com/azat)).
* Пароли из хранилища URL больше не отображаются в журнале запросов. [#93245](https://github.com/ClickHouse/ClickHouse/pull/93245) ([Konstantin Vedernikov](https://github.com/scanhex12)).

<div id="clickhouse-keeper-improvements">
  ### ClickHouse Keeper
</div>

* Корректно обрабатывает пропуски в записях журнала Keeper, если журналы заканчиваются до последнего зафиксированного индекса. [#90403](https://github.com/ClickHouse/ClickHouse/pull/90403) ([Antonio Andelic](https://github.com/antonio2368)).
* Добавлена трассировка OpenTelemetry для запросов Keeper. [#91332](https://github.com/ClickHouse/ClickHouse/pull/91332) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Добавлены новые метрики Keeper: `KeeperChangelogWrittenBytes`, `KeeperChangelogFileSyncMicroseconds`, `KeeperSnapshotWrittenBytes`, `KeeperSnapshotFileSyncMicroseconds`, `KeeperBatchSizeElements` и `KeeperBatchSizeBytes`. [#92149](https://github.com/ClickHouse/ClickHouse/pull/92149) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Расширения Keeper `CHECK_STAT` и `TRY_REMOVE` теперь включены по умолчанию. [#93886](https://github.com/ClickHouse/ClickHouse/pull/93886) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Keeper теперь генерирует исключение вместо аварийного завершения работы при обнаружении поврежденного снимка или несогласованных журналов изменений, что требует ручного вмешательства для более безопасного восстановления. [#94168](https://github.com/ClickHouse/ClickHouse/pull/94168) ([Antonio Andelic](https://github.com/antonio2368)).
* В запросы Keeper `getChildren` добавлены расширения `with_data` и `with_stat`, позволяющие получать дочерние узлы вместе с их данными и статистикой за одну операцию. [#94826](https://github.com/ClickHouse/ClickHouse/pull/94826) ([Nikolay Degterinsky](https://github.com/evillique)).
* Добавлена проверка некорректной конфигурации Keeper, которая могла приводить к ошибкам при формировании кластера. [#94682](https://github.com/ClickHouse/ClickHouse/pull/94682) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Добавлена поддержка расширения Keeper `with_data` для улучшения получения таблиц в Database Replicated. [#96090](https://github.com/ClickHouse/ClickHouse/pull/96090) ([Nikolay Degterinsky](https://github.com/evillique)).
* Теперь через `system.zookeeper` можно выполнять вставку в экземпляр ZooKeeper. [#92092](https://github.com/ClickHouse/ClickHouse/pull/92092) ([RinChanNOW](https://github.com/RinChanNOWWW)).

<div id="memory-management-improvements">
  ### Управление памятью
</div>

* Оптимизировано резервирование места в файловом кэше — кандидаты на вытеснение теперь собираются без удержания эксклюзивной блокировки. [#82764](https://github.com/ClickHouse/ClickHouse/pull/82764) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Включено параллельное чтение в буфере чтения файлового кэша для удалённых движков таблиц и функций. [#71781](https://github.com/ClickHouse/ClickHouse/pull/71781) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Снижено использование памяти в системах, отличных от Linux, за счёт включения немедленной очистки грязных страниц jemalloc. [#93360](https://github.com/ClickHouse/ClickHouse/pull/93360) ([Eduard Karacharov](https://github.com/korowa)).
* Очистка грязных страниц jemalloc теперь выполняется в отдельном потоке, а не в основном потоке MemoryWorker. Добавлен config `memory_worker_purge_total_memory_threshold_ratio` для очистки на основе доли общего использования памяти. [#94902](https://github.com/ClickHouse/ClickHouse/pull/94902) ([Antonio Andelic](https://github.com/antonio2368)).
* Деградация грязных страниц jemalloc теперь динамически отключается, когда ClickHouse длительное время работает в условиях нехватки памяти. [#95145](https://github.com/ClickHouse/ClickHouse/pull/95145) ([Antonio Andelic](https://github.com/antonio2368)).
* Добавлена явная проверка потребления памяти перед чтением данных из MergeTree, а размеры очередей пула потоков уменьшены на основе опыта эксплуатации в продакшне. [#94692](https://github.com/ClickHouse/ClickHouse/pull/94692) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Общий лимит памяти теперь проверяется до аутентификации пользователя; при его превышении генерируется исключение `memory limit exceeded`. [#95003](https://github.com/ClickHouse/ClickHouse/pull/95003) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Исправлен некорректный учёт памяти для кэша условий запроса. [#95478](https://github.com/ClickHouse/ClickHouse/pull/95478) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Улучшено определение использования памяти запросом при spilling to disk во время агрегации и сортировки. [#92500](https://github.com/ClickHouse/ClickHouse/pull/92500) ([Azat Khuzhin](https://github.com/azat)).
* Планировщик теперь отдаёт приоритет потоку MemoryWorker при нехватке процессорного времени, чтобы защитить процесс. [#94864](https://github.com/ClickHouse/ClickHouse/pull/94864) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Исправлены случаи, когда ClickHouse не соблюдал лимиты памяти при чтении из таблицы. [#93715](https://github.com/ClickHouse/ClickHouse/pull/93715) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="data-formats-improvements">
  ### Форматы данных
</div>

* Ридер Parquet теперь позволяет читать столбцы `Tuple` или `Map` как JSON. [#92864](https://github.com/ClickHouse/ClickHouse/pull/92864) ([Michael Kolupaev](https://github.com/al13n321)).
* Ридер Parquet теперь поддерживает пустые кортежи. [#92868](https://github.com/ClickHouse/ClickHouse/pull/92868) ([Michael Kolupaev](https://github.com/al13n321)).
* Тип `Date` теперь сериализуется как собственный тип Arrow `date32` в форматах Arrow/ArrowStream (ранее `uint16`). Прежнее поведение можно восстановить с помощью настройки `output_format_arrow_date_as_uint16`. [#96860](https://github.com/ClickHouse/ClickHouse/pull/96860) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Формат вывода `Hash` теперь не зависит от размеров блоков. [#94503](https://github.com/ClickHouse/ClickHouse/pull/94503) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Простые типы в формате Pretty JSON больше не выводятся на отдельных строках. [#93836](https://github.com/ClickHouse/ClickHouse/pull/93836) ([Pavel Kruglov](https://github.com/Avogar)).
* При определении схемы теперь учитывается `allow_experimental_nullable_tuple_type` — если эта настройка включена, отсутствующие вложенные объекты могут становиться `NULL` вместо кортежа из элементов `NULL`. [#95525](https://github.com/ClickHouse/ClickHouse/pull/95525) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* SQL-форматтер теперь выводит `COMMENT` перед `AS SELECT` вместо того, чтобы заключать `SELECT` в круглые скобки. [#96293](https://github.com/ClickHouse/ClickHouse/pull/96293) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Оптимизировано сжатие postings list с помощью simdcomp. [#92871](https://github.com/ClickHouse/ClickHouse/pull/92871) ([Peng Jian](https://github.com/fastio)).

<div id="backup-and-restore-improvements">
  ### Резервное копирование и восстановление
</div>

* Добавлена настройка резервного копирования `backup_data_from_refreshable_materialized_view_targets`, управляющая тем, нужно ли включать в резервную копию данные refreshable materialized views. Целевые таблицы RMV со стратегией обновления `APPEND` резервируются всегда. [#93658](https://github.com/ClickHouse/ClickHouse/pull/93658) ([Julia Kartseva](https://github.com/jkartseva)).
* Добавлена поддержка определенных в SQL именованных коллекций в `BACKUP`/`RESTORE` для S3 и Azure Blob Storage. [#94605](https://github.com/ClickHouse/ClickHouse/pull/94605) ([Pablo Marcos](https://github.com/pamarcos)).

<div id="named-collections-and-dictionaries">
  ### Именованные коллекции и словари
</div>

* В табличной функции MongoDB теперь допускаются переопределения параметров именованных коллекций. [#89616](https://github.com/ClickHouse/ClickHouse/pull/89616) ([vanchaklar](https://github.com/vanchaklar)).
* Теперь поддерживаются именованные коллекции для словарей и таблиц YTsaurus. [#94582](https://github.com/ClickHouse/ClickHouse/pull/94582) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Для источников словарей на основе динамических таблиц YTsaurus теперь можно передавать описания столбцов. [#92391](https://github.com/ClickHouse/ClickHouse/pull/92391) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Схема параметризованного представления теперь отображается при явном указании. [#90220](https://github.com/ClickHouse/ClickHouse/pull/90220) ([Grigorii Sokolik](https://github.com/GSokol)).

<div id="deduplication-improvements">
  ### Дедупликация
</div>

* Настройка `insert_select_deduplicate` была переработана, чтобы добавить параметры обратной совместимости. [#92951](https://github.com/ClickHouse/ClickHouse/pull/92951) ([Sema Checherinda](https://github.com/CheSema)).
* Теперь дедупликация с асинхронными вставками разрешена и при использовании materialized views. [#93957](https://github.com/ClickHouse/ClickHouse/pull/93957) ([Sema Checherinda](https://github.com/CheSema)).

<div id="other-improvements">
  ### Другие улучшения
</div>

* Улучшен UX `SYSTEM INSTRUMENT ADD/REMOVE`: теперь для имен функций используются строковые литералы, патчатся все подходящие функции, а в `REMOVE` поддерживается `function_name`. [#93345](https://github.com/ClickHouse/ClickHouse/pull/93345) ([Pablo Marcos](https://github.com/pamarcos)).
* Добавлены `SYSTEM NOTIFY FAILPOINT` для приостанавливаемых failpoint и `SYSTEM WAIT FAILPOINT` для PAUSE/RESUME. [#92368](https://github.com/ClickHouse/ClickHouse/pull/92368) ([Shaohua Wang](https://github.com/tiandiwonder)).
* Имена функций C++ в `system.trace_log`, `system.symbols` и функции `demangle` теперь отображаются корректно. [#93075](https://github.com/ClickHouse/ClickHouse/pull/93075) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Профили jemalloc теперь записываются вместе с символами, что устраняет необходимость в бинарном файле при генерации профиля кучи. [#93099](https://github.com/ClickHouse/ClickHouse/pull/93099) ([Azat Khuzhin](https://github.com/azat)).
* Исправлен сбой при Attach таблицы к базе данных `MaterializedPostgreSQL`, если `dropReplicationSlot` генерирует исключение во время раскрутки стека. [#96871](https://github.com/ClickHouse/ClickHouse/pull/96871) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Исправлена ситуация, когда после сбоя `CREATE TABLE` могли оставаться артефакты. [#94174](https://github.com/ClickHouse/ClickHouse/pull/94174) ([Azat Khuzhin](https://github.com/azat)).
* Исправлен доступ к неинициализированной памяти при использовании TLS-ключа, защищенного паролем. [#94182](https://github.com/ClickHouse/ClickHouse/pull/94182) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Если `alter table ... modify setting ...` завершается по тайм-ауту при получении блокировки, теперь возвращается ошибка тайм-аута вместо логической ошибки. [#93856](https://github.com/ClickHouse/ClickHouse/pull/93856) ([Han Fei](https://github.com/hanfei1991)).
* Улучшена совместимость CPU-профайлера и профайлера реального времени с тайм-аутами сокета. [#96601](https://github.com/ClickHouse/ClickHouse/pull/96601) ([Sergei Trifonov](https://github.com/serxa)).
* Для релизных сборок включено быстрое усиление защиты libcxx (главным образом проверки выхода за границы) без заметного влияния на производительность. [#94757](https://github.com/ClickHouse/ClickHouse/pull/94757) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).

<div id="performance-improvements">
  ## Повышение производительности
</div>

<div id="join-performance">
  ### Производительность JOIN
</div>

* Ускорены некоторые операции hash join благодаря реализации динамической диспетчеризации для `ColumnVector::replicate`. [#79573](https://github.com/ClickHouse/ClickHouse/pull/79573) ([Raúl Marín](https://github.com/Algunenano)).
* Теперь в JOIN проталкивается больше фильтров. [#85556](https://github.com/ClickHouse/ClickHouse/pull/85556) ([Nikita Taranov](https://github.com/nickitat)).
* Расширено проталкивание фильтров из условий JOIN `ON` для `ANY`, `SEMI` и `ANTI` JOIN, когда фильтр использует данные только с одной стороны. [#92584](https://github.com/ClickHouse/ClickHouse/pull/92584) ([Dmitry Novik](https://github.com/novikd)).
* Эквивалентные множества теперь можно использовать для проталкивания фильтров в `SEMI JOIN`. [#92837](https://github.com/ClickHouse/ClickHouse/pull/92837) ([Dmitry Novik](https://github.com/novikd)).
* Распараллелена обработка неприсоединённых строк в `ParallelHashJoin` для сложных предикатов; это поведение управляется настройкой `parallel_non_joined_rows_processing` (включена по умолчанию). [#92068](https://github.com/ClickHouse/ClickHouse/pull/92068) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Hash join теперь полностью пропускает чтение левой стороны, когда правая сторона пуста, что позволяет избежать лишней работы при тяжёлой фильтрации или агрегации. [#94062](https://github.com/ClickHouse/ClickHouse/pull/94062) ([Alexander Gololobov](https://github.com/davenger)).
* JOIN runtime filters теперь поддерживаются для `RIGHT OUTER` JOIN. [#96183](https://github.com/ClickHouse/ClickHouse/pull/96183) ([Hechem Selmi](https://github.com/m-selmi)).
* PREWHERE optimization теперь откладывается до завершения оптимизации JOIN runtime filters, что позволяет также проталкивать runtime filters в PREWHERE. [#95838](https://github.com/ClickHouse/ClickHouse/pull/95838) ([Alexander Gololobov](https://github.com/davenger)).

<div id="query-optimization">
  ### Оптимизация запросов
</div>

* Отключена оптимизация порядка сортировки для оконных функций в случаях, когда ключ партиционирования совпадает с ключом сортировки или является его префиксом, что повышает производительность параллельного выполнения. [#87299](https://github.com/ClickHouse/ClickHouse/pull/87299) ([Nikita Taranov](https://github.com/nickitat)).
* Внешние фильтры теперь проталкиваются в представления, что позволяет применять PREWHERE как на локальных, так и на удалённых узлах. [#88316](https://github.com/ClickHouse/ClickHouse/pull/88316) ([Igor Nikonov](https://github.com/devcrafter)).
* Оптимизированы производительность и использование памяти для дробных `LIMIT` и `OFFSET`. [#91167](https://github.com/ClickHouse/ClickHouse/pull/91167) ([Ahmed Gouda](https://github.com/0xgouda)).
* Константные фильтры по виртуальным столбцам больше не вычисляются повторно. [#91588](https://github.com/ClickHouse/ClickHouse/pull/91588) ([c-end](https://github.com/c-end)).
* Любое детерминированное выражение в первичном ключе (например, `ORDER BY cityHash64(user_id)`) теперь можно использовать для пропуска данных. ClickHouse применяет это выражение к константам запроса и использует результат для поиска по индексу первичного ключа с `=`, `IN` и `has`. Для инъективных выражений также поддерживаются отрицательные формы (`!=`, `NOT IN`, `NOT has`). [#92952](https://github.com/ClickHouse/ClickHouse/pull/92952) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Оптимизация чтения в порядке сортировки теперь распознаёт случаи, когда столбцы `ORDER BY` являются константами из-за условий `WHERE`, что позволяет эффективно читать данные в обратном порядке. Это полезно для многотенантных запросов, таких как `WHERE tenant='42' ORDER BY tenant, event_time DESC`. [#94103](https://github.com/ClickHouse/ClickHouse/pull/94103) ([matanper](https://github.com/matanper)).
* Для запросов `FINAL`, использующих условие по первичному ключу с последующим применением индексов пропуска данных, шаг `PrimaryKeyExpand` теперь проверяет только изначально отобранные диапазоны первичного ключа. [#94903](https://github.com/ClickHouse/ClickHouse/pull/94903) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Оптимизация отложенной материализации теперь применяется ко всем ветвям запроса `UNION ALL`, а не только к первой, снижая I/O для запросов, которые объединяют несколько отсортированных и ограниченных чтений из разных таблиц семейства MergeTree. [#96832](https://github.com/ClickHouse/ClickHouse/pull/96832) ([Federico Ginosa](https://github.com/menxit)).

<div id="function-and-aggregation-performance">
  ### Производительность функций и агрегации
</div>

* JIT-компиляция теперь охватывает больше функций. [#88770](https://github.com/ClickHouse/ClickHouse/pull/88770) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Оптимизирована агрегатная функция `distinctJSONPaths`: теперь она считывает только JSON-пути из частей данных, а не весь JSON-столбец. [#92196](https://github.com/ClickHouse/ClickHouse/pull/92196) ([Pavel Kruglov](https://github.com/Avogar)).
* Оптимизирована `uniqExact` для случаев, когда одинаковые элементы часто идут подряд. [#93268](https://github.com/ClickHouse/ClickHouse/pull/93268) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Оптимизирована `isValidASCII` для входных значений, полностью состоящих из ASCII-символов. [#93347](https://github.com/ClickHouse/ClickHouse/pull/93347) ([Robert Schulze](https://github.com/rschu1ze)).
* Ускорена `uniq` для числовых типов за счёт вставки батчами, где это возможно (не NULL, не `-If`, без `GROUP BY`, без `IPv6` и `String`). [#95904](https://github.com/ClickHouse/ClickHouse/pull/95904) ([Raúl Marín](https://github.com/Algunenano)).

<div id="storage-and-io-performance">
  ### Производительность хранилища и ввода-вывода
</div>

* Исправлен Prefetcher в Parquet Reader V3: теперь он использует более быструю логику произвольного чтения. [#91435](https://github.com/ClickHouse/ClickHouse/pull/91435) ([Arsen Muk](https://github.com/arsenmuk)).
* Улучшена производительность `icebergCluster`. [#91537](https://github.com/ClickHouse/ClickHouse/pull/91537) ([Yang Jiang](https://github.com/Ted-Jiang)).
* Снижено использование памяти при `INSERT` и слиянии для очень широких таблиц с Wide-частями за счет включения адаптивных буферов записи. Также добавлена поддержка адаптивных буферов записи для зашифрованных дисков. [#92250](https://github.com/ClickHouse/ClickHouse/pull/92250) ([Azat Khuzhin](https://github.com/azat)).
* Улучшена производительность полнотекстового поиска с текстовым индексом и токенизатором `sparseGrams` за счет сокращения числа искомых токенов. [#93078](https://github.com/ClickHouse/ClickHouse/pull/93078) ([Anton Popov](https://github.com/CurtizJ)).
* Ускорено сжатие кодеком T64 с использованием динамической диспетчеризации на x86. [#95881](https://github.com/ClickHouse/ClickHouse/pull/95881) ([Raúl Marín](https://github.com/Algunenano)).
* Ускорена распаковка LZ4 для 32-байтных блоков на x86. [#96778](https://github.com/ClickHouse/ClickHouse/pull/96778) ([Raúl Marín](https://github.com/Algunenano)).
* Оптимизация прямого чтения для текстового индекса теперь работает частично: части с материализованным текстовым индексом будут его использовать, а части без него — возвращаться к исходному выражению фильтра. [#96411](https://github.com/ClickHouse/ClickHouse/pull/96411) ([Anton Popov](https://github.com/CurtizJ)).
* Оптимизировано вычисление индекса пропуска данных minmax во время `INSERT` за счет удаления лишнего копирования данных и включения векторизованного вычисления min/max для числовых столбцов. [#97392](https://github.com/ClickHouse/ClickHouse/pull/97392) ([Raúl Marín](https://github.com/Algunenano)).
* В системные таблицы логов добавлены вторичные индексы `minmax` для столбцов времени и индексы `bloom_filter` для столбцов `query_id`/`initial_query_id`, что ускоряет фильтрацию. [#96712](https://github.com/ClickHouse/ClickHouse/pull/96712) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Предотвращена регрессия использования памяти при `INSERT`, когда дедупликация не включена. [#96503](https://github.com/ClickHouse/ClickHouse/pull/96503) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="memory-optimization">
  ### Оптимизация памяти
</div>

* Снижено потребление памяти `ASTLiteral` за счёт удаления неиспользуемых полей, когда подсветка и разбор `VALUES` не используются. [#93974](https://github.com/ClickHouse/ClickHouse/pull/93974) ([Ilya Yatsishin](https://github.com/qoega)).
* Добавлен специализированный класс AST для Enum, который хранит параметры значений как пары строка/целое число вместо универсальных дочерних элементов `ASTLiteral`, что снижает потребление памяти. [#94178](https://github.com/ClickHouse/ClickHouse/pull/94178) ([Ilya Yatsishin](https://github.com/qoega)).
* Оптимизировано потребление памяти объектами AST именованных кортежей: имена столбцов теперь хранятся напрямую в виде строк, а не в универсальных узлах-литералах AST. [#94704](https://github.com/ClickHouse/ClickHouse/pull/94704) ([Ilya Yatsishin](https://github.com/qoega)).
* Размер структуры `CachedOnDiskReadBufferFromFile` уменьшен примерно в 50 раз. [#96098](https://github.com/ClickHouse/ClickHouse/pull/96098) ([Azat Khuzhin](https://github.com/azat)).
* `HashTable::resize` больше не копирует старые данные, если таблица пуста. [#96180](https://github.com/ClickHouse/ClickHouse/pull/96180) ([Raúl Marín](https://github.com/Algunenano)).

<div id="internal-optimizations">
  ### Внутренние оптимизации
</div>

* Внедрён метод "fastrange" (Daniel Lemire) для разбиения данных внутри конвейера запроса, что улучшило параллельную сортировку и операции JOIN. [#93080](https://github.com/ClickHouse/ClickHouse/pull/93080) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Улучшена девиртуализация за счёт дополнительных опций компоновщика. [#94737](https://github.com/ClickHouse/ClickHouse/pull/94737) ([Nikita Taranov](https://github.com/nickitat)).
* Улучшена производительность клонирования реплики для таблиц `ReplicatedMergeTree` с большим количеством частей за счёт объединения запросов к ZooKeeper в батчи. [#94847](https://github.com/ClickHouse/ClickHouse/pull/94847) ([c-end](https://github.com/c-end)).
* Потребление CPU потоком приёма ZooKeeper в `observeOperations` снижено более чем на 20% за счёт перехода на более быстрое хеширование и безблокировочные счётчики. [#95962](https://github.com/ClickHouse/ClickHouse/pull/95962) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).

<div id="bug-fixes">
  ## Исправления ошибок
</div>

<Accordion title="Все исправления ошибок (нажмите, чтобы развернуть)">
  ### Исправления JOIN

  * Исправлена ошибка `INCOMPATIBLE_TYPE_OF_JOIN` в хранилище Join, возникавшая при применении оптимизации преобразования outer JOIN в inner JOIN. [#84292](https://github.com/ClickHouse/ClickHouse/pull/84292) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлена логическая ошибка в запросах с несколькими JOIN, использующих предложение `USING` и `join_use_nulls`. [#92251](https://github.com/ClickHouse/ClickHouse/pull/92251) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлена логическая ошибка при изменении порядка JOIN с `join_use_nulls`. [#92289](https://github.com/ClickHouse/ClickHouse/pull/92289) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Устранён возможный сбой, связанный с настройкой `join_on_disk_max_files_to_merge`. [#92335](https://github.com/ClickHouse/ClickHouse/pull/92335) ([Bharat Nallan](https://github.com/bharatnc)).
  * Исправлен `LOGICAL_ERROR`, вызванный нежелательным изменением плана запроса при преобразовании внешнего JOIN во внутренний JOIN. Также смягчены требования для применения оптимизации при использовании инъективных функций на ключах агрегирования в JOIN. [#92503](https://github.com/ClickHouse/ClickHouse/pull/92503) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
  * Исправлена логическая ошибка при использовании нескольких JOIN с константным условием и `join_use_nulls`. [#92892](https://github.com/ClickHouse/ClickHouse/pull/92892) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлена обработка случая `NULL != NULL` для `full_sorting_join` в столбце `LowCardinality(Nullable(T))`. [#92924](https://github.com/ClickHouse/ClickHouse/pull/92924) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлены результаты JOIN, когда ключ JOIN с правой стороны был разреженным столбцом. [#93038](https://github.com/ClickHouse/ClickHouse/pull/93038) ([Amos Bird](https://github.com/amosbird)).
  * Исправлена некорректная работа runtime-фильтров при наличии у `LEFT ANTI JOIN` дополнительного постусловия. [#91824](https://github.com/ClickHouse/ClickHouse/pull/91824) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлена логическая ошибка при использовании runtime-фильтров в запросе с итогами для правой таблицы. [#93330](https://github.com/ClickHouse/ClickHouse/pull/93330) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлена логическая ошибка, которая в некоторых случаях возникала при добавлении в план запроса runtime-фильтров JOIN из-за некорректного возврата дублирующихся константных столбцов. [#93144](https://github.com/ClickHouse/ClickHouse/pull/93144) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлена функция `__applyFilter`, используемая фильтрами времени выполнения JOIN, из-за которой в некоторых корректных случаях возвращалась ошибка `ILLEGAL_TYPE_OF_ARGUMENT`. [#93187](https://github.com/ClickHouse/ClickHouse/pull/93187) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлена ошибка, из-за которой runtime-фильтры не добавлялись при JOIN с уже заполненной правой таблицей. [#93211](https://github.com/ClickHouse/ClickHouse/pull/93211) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлена ошибка `NOT_FOUND_COLUMN_IN_BLOCK`, возникавшая, когда был включен runtime-фильтр и таблицы в JOIN возвращали один и тот же столбец несколько раз. [#93526](https://github.com/ClickHouse/ClickHouse/pull/93526) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлена ошибка, из-за которой `FilterStep` добавлялся некорректно, когда runtime filter для JOIN применялся к таблице `Merge`. [#94021](https://github.com/ClickHouse/ClickHouse/pull/94021) ([Alexander Gololobov](https://github.com/davenger)).
  * Исправлено приведение типов к супертипу при выполнении операции JOIN для хранилища `Join` с предложением `USING`. [#94000](https://github.com/ClickHouse/ClickHouse/pull/94000) ([Dmitry Novik](https://github.com/novikd)).
  * Исправлены запросы с параллельными репликами и JOIN с таблицей, не относящейся к семейству MergeTree. [#93902](https://github.com/ClickHouse/ClickHouse/pull/93902) ([Igor Nikonov](https://github.com/devcrafter)).
  * Устранено состояние гонки для Nullable-столбца JOIN в runtime-фильтрах. [#95775](https://github.com/ClickHouse/ClickHouse/pull/95775) ([Hechem Selmi](https://github.com/m-selmi)).
  * Исправлена ошибка, из-за которой пустая строка преобразовывалась в `NULL` в таблице `Join` с ключом `Nullable(String)`. [#96002](https://github.com/ClickHouse/ClickHouse/pull/96002) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `NOT_SUPPORTED`, возникавшая при использовании алгоритма JOIN `direct` с пустой таблицей семейства MergeTree. [#95935](https://github.com/ClickHouse/ClickHouse/pull/95935) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлены некорректные результаты запросов с внешними JOIN в сочетании с несколькими INNER JOIN, возникавшие из-за недопустимого переупорядочивания JOIN, когда условие `ON` внешнего JOIN ссылалось на столбцы из нескольких ранее объединённых таблиц. [#96193](https://github.com/ClickHouse/ClickHouse/pull/96193) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлено исключение runtime filter для столбцов Tuple с Nullable-подполями. [#96509](https://github.com/ClickHouse/ClickHouse/pull/96509) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлены запросы с CROSS JOIN при включенных параллельных репликах, возвращавшие некорректные результаты. [#96848](https://github.com/ClickHouse/ClickHouse/pull/96848) ([Igor Nikonov](https://github.com/devcrafter)).
  * Исправлена ошибка, из-за которой `arrayJoin` создавал дублирующиеся строки при использовании с INNER JOIN и предложением WHERE; это происходило из-за того, что при частичном проталкивании предикатов фильтры, содержащие `arrayJoin`, ошибочно опускались ниже JOIN. [#96989](https://github.com/ClickHouse/ClickHouse/pull/96989) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен `LOGICAL_ERROR`, когда `arrayJoin` в условии `WHERE` ссылался на столбцы с обеих сторон JOIN. [#97239](https://github.com/ClickHouse/ClickHouse/pull/97239) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена логическая ошибка при использовании шаблона сопоставления (`*`) внутри лямбда-функции в предложении VALUES в JOIN с USING. [#95661](https://github.com/ClickHouse/ClickHouse/pull/95661) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлена возможная логическая ошибка в матчере (`*`, `table.*`) и `analyzer_compatibility_join_using_top_level_identifier`, когда столбец, указанный в `USING`, имел разные типы. [#95808](https://github.com/ClickHouse/ClickHouse/pull/95808) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлена логическая ошибка, связанная с `analyzer_compatibility_join_using_top_level_identifier` и столбцами ALIAS. [#97297](https://github.com/ClickHouse/ClickHouse/pull/97297) ([Vladimir Cherkasov](https://github.com/vdimir)).
  * Исправлен сбой в старом анализаторе при использовании JOIN с повторяющимися псевдонимами. [#96405](https://github.com/ClickHouse/ClickHouse/pull/96405) ([Ilya Golshtein](https://github.com/ilejn)).

  ### Исправления запросов и анализатора

  * Исправлена ошибка, из-за которой в обработчиках предопределённых запросов завершающие пробельные символы при вставке интерпретировались как данные. [#83604](https://github.com/ClickHouse/ClickHouse/pull/83604) ([Fabian Ponce](https://github.com/FabianPonce)).
  * Исправлена ошибка в агрегации с проекцией, из-за которой возникало исключение после ALTER, изменяющих только метаданные, например при расширении элементов Enum. [#84143](https://github.com/ClickHouse/ClickHouse/pull/84143) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен проход `count_distinct_optimization`, работающий с оконными функциями и несколькими аргументами. [#92376](https://github.com/ClickHouse/ClickHouse/pull/92376) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлена непоследовательность в форматировании AST для `arrayElement` с отрицательным литералом. [#92293](https://github.com/ClickHouse/ClickHouse/pull/92293) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка, из-за которой `NOT IN` с неконстантными аргументами в виде массивов возвращал неверные значения. [#93314](https://github.com/ClickHouse/ClickHouse/pull/93314) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
  * Исправлена ошибка в null-safe сравнении с типом `Nothing`. [#91884](https://github.com/ClickHouse/ClickHouse/pull/91884) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
  * Исправлена ошибка `Not found column` в оптимизации `use_top_k_dynamic_filtering`. [#93316](https://github.com/ClickHouse/ClickHouse/pull/93316) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
  * Исправлена ошибка при удалении неиспользуемых столбцов из подзапросов в случае наличия скалярного коррелированного подзапроса. [#93273](https://github.com/ClickHouse/ClickHouse/pull/93273) ([Dmitry Novik](https://github.com/novikd)).
  * Исправлена ошибка, из-за которой `optimize_inverse_dictionary_lookup` не работал с распределёнными запросами, если ключ имел знаковый целочисленный тип. [#93848](https://github.com/ClickHouse/ClickHouse/pull/93848) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка, из-за которой `lag`/`lead` не работали с распределёнными запросами `remote()`. [#93858](https://github.com/ClickHouse/ClickHouse/pull/93858) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка в логике пропуска данных, если в `WHERE` использовалось `not match(...)`, что приводило к некорректным результатам. [#92726](https://github.com/ClickHouse/ClickHouse/pull/92726) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка в логике пропуска данных: при использовании `not materialize(...)` или `not CAST(...)` в `WHERE` могли возвращаться некорректные результаты. [#93017](https://github.com/ClickHouse/ClickHouse/pull/93017) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена логическая ошибка при анализе индексов, возникавшая при использовании пустого массива в функции `has`. [#92995](https://github.com/ClickHouse/ClickHouse/pull/92995) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена логическая ошибка в редком случае, когда со столбцом `Map` использовался пустой кортеж. [#93814](https://github.com/ClickHouse/ClickHouse/pull/93814) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка, из-за которой завершались сбоем запросы, использовавшие сегментацию по PK с ложным условием. [#92815](https://github.com/ClickHouse/ClickHouse/pull/92815) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
  * Исправлена ошибка, из-за которой при планировании запросов для движка таблицы `Merge` для `hostName()` генерировалось `ILLEGAL_COLUMN` при объединении локальных и удалённых/Distributed таблиц. [#93286](https://github.com/ClickHouse/ClickHouse/pull/93286) ([Jinlin](https://github.com/withlin)).
  * Исправлена ошибка `NO_SUCH_COLUMN_IN_TABLE` в движке `Merge` над таблицами с псевдонимами. [#92910](https://github.com/ClickHouse/ClickHouse/pull/92910) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлен `SELECT`-запрос с предикатом по нескольким столбцам, индексами пропуска данных bloom filter и условиями `OR` и `NOT`, который возвращал противоречивые результаты. [#94026](https://github.com/ClickHouse/ClickHouse/pull/94026) ([Shankar Iyer](https://github.com/shankar-iyer)).
  * Исправлено применение проекции, если фильтр содержал подстолбцы. [#93141](https://github.com/ClickHouse/ClickHouse/pull/93141) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлено повреждение `_part_offset` при перестроении проекций во время слияний, а также оптимизирована обработка проекций за счёт устранения лишних чтений. [#93827](https://github.com/ClickHouse/ClickHouse/pull/93827) ([Amos Bird](https://github.com/amosbird)).
  * Предотвращено схлопывание разных интерполированных столбцов в один и тот же столбец в блоке, когда они по сути были псевдонимами одного и того же столбца. [#93197](https://github.com/ClickHouse/ClickHouse/pull/93197) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
  * Удалены неиспользуемые столбцы при перестроении проекции во время слияния, что сократило использование памяти и уменьшило количество создаваемых временных частей. [#93233](https://github.com/ClickHouse/ClickHouse/pull/93233) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
  * Исправлена логическая ошибка, возникавшая в некоторых случаях при использовании отрицательного `LIMIT/OFFSET` в распределённых запросах. [#95357](https://github.com/ClickHouse/ClickHouse/pull/95357) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена логическая ошибка, возникавшая в некоторых случаях при использовании дробных значений `LIMIT/OFFSET` в распределённых запросах. [#96475](https://github.com/ClickHouse/ClickHouse/pull/96475) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка, из-за которой функция `IN` возвращала некорректные результаты для значений `NULL` при включенном `transform_null_in`. [#95674](https://github.com/ClickHouse/ClickHouse/pull/95674) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка, из-за которой `IN (col)` с одной ссылкой на столбец приводил к ошибке `UNSUPPORTED_METHOD`. [#97646](https://github.com/ClickHouse/ClickHouse/pull/97646) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено поведение `optimize_syntax_fuse_functions`, из-за которого `sum`/`count`/`avg` переписывались в `sumCount()`, когда аргумент агрегатной функции имел тип `LowCardinality(Nullable)`. [#96239](https://github.com/ClickHouse/ClickHouse/pull/96239) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлено некорректное отсечение партиций для `not IN` и функции `not has`. [#96241](https://github.com/ClickHouse/ClickHouse/pull/96241) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена ошибка фильтрации в PREWHERE, вызванная лямбда-выражениями. [#95395](https://github.com/ClickHouse/ClickHouse/pull/95395) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
  * Исправлен `LOGICAL_ERROR` в анализаторе запросов, возникавший, когда лямбда-выражение передавалось там, где ожидалось конкретное значение. [#96892](https://github.com/ClickHouse/ClickHouse/pull/96892) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка разыменования нулевого указателя в некоторых выражениях с лямбда-функциями. [#96479](https://github.com/ClickHouse/ClickHouse/pull/96479) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка, из-за которой `SETTINGS`, заданные на уровне отдельных подзапросов, не применялись к табличным функциям, таким как `file`, в CTE и подзапросах. [#96882](https://github.com/ClickHouse/ClickHouse/pull/96882) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена коллизия хэша в кэше условий запроса для схлопнутых констант CTE, которая могла приводить к некорректным результатам запроса. [#96172](https://github.com/ClickHouse/ClickHouse/pull/96172) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `BAD_ARGUMENTS` при выполнении запросов к таблицам с лямбда-выражениями в столбцах ALIAS через табличную функцию `merge()` при включенном анализаторе. [#97551](https://github.com/ClickHouse/ClickHouse/pull/97551) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено поведение `EXCEPT ALL` и `INTERSECT ALL`: ранее они игнорировали кратность строк и работали как варианты `DISTINCT`. [#96876](https://github.com/ClickHouse/ClickHouse/pull/96876) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено падение из-за срабатывания assert в `WindowTransform` при большом смещении `PRECEDING`. [#96026](https://github.com/ClickHouse/ClickHouse/pull/96026) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено исключение, возникавшее при использовании оконных функций с `group_by_use_nulls = 1` и `CUBE`/`ROLLUP`/`GROUPING SETS`. [#96878](https://github.com/ClickHouse/ClickHouse/pull/96878) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено взаимодействие `GROUPING SETS`, `group_by_use_nulls` и `Tuple` с `LowCardinality`, из-за которого возникала неожиданная структура блока. [#96358](https://github.com/ClickHouse/ClickHouse/pull/96358) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена логическая ошибка при `GROUP BY ... WITH ROLLUP/CUBE`, если ключи содержали `LowCardinality(Nullable(...))` внутри `Nullable(Tuple(...))`. [#97647](https://github.com/ClickHouse/ClickHouse/pull/97647) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен сбой из-за assertion failure в `IfTransformStringsToEnumPass`, когда `if` или `transform` возвращали `Nullable(String)`. [#97002](https://github.com/ClickHouse/ClickHouse/pull/97002) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `ACCESS_DENIED` у пользователей без разрешения `CREATE TEMPORARY TABLE`, возникавшая, когда `optimize_inverse_dictionary_lookup` переписывал предикаты `dictGet(...)`. [#97484](https://github.com/ClickHouse/ClickHouse/pull/97484) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлено несоответствие типов в функции `if` между `UInt64` и `Int32` в редком случае распределённых запросов с PREWHERE и выводом типов. [#96012](https://github.com/ClickHouse/ClickHouse/pull/96012) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлены запросы с JIT-компиляцией, связанные с типами `Bool`. [#96013](https://github.com/ClickHouse/ClickHouse/pull/96013) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлены ошибки, приводившие к некорректным результатам, когда JIT-скомпилированные выражения преобразовывали `DateTime` в `DateTime64` (например, в `CASE`/`if`/`multiIf` при смешанных типах DateTime). [#96879](https://github.com/ClickHouse/ClickHouse/pull/96879) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено использование неинициализированного значения в `formatDateTime` с форматтерами нефиксированной ширины. [#96133](https://github.com/ClickHouse/ClickHouse/pull/96133) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен вызов `std::terminate` в `indexOfAssumeSorted`, возникавший при вызове с несовместимыми типами. [#96877](https://github.com/ClickHouse/ClickHouse/pull/96877) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Функции Geometry теперь принимают не только тип варианта `Geometry`, но и отдельные подтипы геометрии. [#97571](https://github.com/ClickHouse/ClickHouse/pull/97571) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлены случаи, когда индексы влияли на результаты запросов с ROW POLICY/PREWHERE и FINAL. [#97076](https://github.com/ClickHouse/ClickHouse/pull/97076) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
  * Оптимизации чтения по порядку разрешено использовать политики доступа к строкам. [#97538](https://github.com/ClickHouse/ClickHouse/pull/97538) ([Janos Benjamin Antal](https://github.com/antaljanosbenjamin)).
  * Исправлен `LOGICAL_ERROR` при использовании столбцов с текстовым индексом в предложении `QUALIFY`. [#97313](https://github.com/ClickHouse/ClickHouse/pull/97313) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен возможный сбой, когда в условии `WHERE` было более 32 выражений с `AND`/`OR`. [#97698](https://github.com/ClickHouse/ClickHouse/pull/97698) ([Shankar Iyer](https://github.com/shankar-iyer)).
  * Исправлено несоответствие структуры блока в оптимизации `removeUnusedColumns` при использовании `indexHint` с раскрытием `*` для таблиц с `FINAL`. [#97622](https://github.com/ClickHouse/ClickHouse/pull/97622) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено несоответствие при форматировании AST в цикле round-trip для литералов кортежей с алиасами внутри круглых скобок. [#97418](https://github.com/ClickHouse/ClickHouse/pull/97418) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена несогласованность в форматировании AST для `NOT (1, 1, 1)`. [#97653](https://github.com/ClickHouse/ClickHouse/pull/97653) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

  ### Исправления MergeTree и хранилища

  * Имена файлов в MergeTree теперь всегда заменяются хешами, если файловая система не различает регистр. Ранее в macOS это могло приводить к повреждению данных, если имена столбцов/подстолбцов различались только регистром. [#86559](https://github.com/ClickHouse/ClickHouse/pull/86559) ([Pavel Kruglov](https://github.com/Avogar)).
  * Materialized views теперь используют базу данных, в которой были созданы, как контекст выполнения, что позволяет не указывать базу данных явно в SELECT-запросе представления. [#88193](https://github.com/ClickHouse/ClickHouse/pull/88193) ([Dmitry Kovalev](https://github.com/dk-github)).
  * Добавлена полная проверка разрешений на этапе создания для запроса, лежащего в основе materialized view. [#89180](https://github.com/ClickHouse/ClickHouse/pull/89180) ([pufit](https://github.com/pufit)).
  * Исправлена логическая ошибка, из-за которой мутация без транзакции затрагивала части в активной транзакции, которая затем была откатана. [#90469](https://github.com/ClickHouse/ClickHouse/pull/90469) ([Shaohua Wang](https://github.com/tiandiwonder)).
  * Исправлена ошибка, из-за которой `system.warnings` не обновлялась должным образом после преобразования обычной базы данных в базу данных с движком atomic. [#90473](https://github.com/ClickHouse/ClickHouse/pull/90473) ([sdk2](https://github.com/sdk2)).
  * Исправлена ошибка `LOGICAL_ERROR: Storage does not support transaction`, возникавшая при выполнении `ATTACH AS REPLICATED`. [#91772](https://github.com/ClickHouse/ClickHouse/pull/91772) ([Shaohua Wang](https://github.com/tiandiwonder)).
  * Исправлена возможная ошибка `FILE_DOESNT_EXIST`, возникавшая после мутации разреженного столбца с `ratio_of_defaults_for_sparse_serialization=0.0`. [#92860](https://github.com/ClickHouse/ClickHouse/pull/92860) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена возможная ошибка `FILE_DOESNT_EXIST` после мутации разреженного столбца, когда `ratio_of_defaults_for_sparse_serialization` изменялся на `1.0` через ALTER. [#93016](https://github.com/ClickHouse/ClickHouse/pull/93016) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлено возможное использование устаревших частей из-за гонки TOCTOU в shared parts. [#93022](https://github.com/ClickHouse/ClickHouse/pull/93022) ([Azat Khuzhin](https://github.com/azat)).
  * Наследование настроек информации о сериализации исходной части во время мутации в MergeTree, что устраняет возможные некорректные результаты запросов по частям, изменённым мутацией, после изменения сериализации типа данных. [#92419](https://github.com/ClickHouse/ClickHouse/pull/92419) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлен возможный конфликт между столбцом и подстолбцом с одинаковым именем, который приводил к некорректной сериализации и сбоям при выполнении запросов. [#92453](https://github.com/ClickHouse/ClickHouse/pull/92453) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка `NOT_FOUND_COLUMN_IN_BLOCK` при вставке в таблицу с подстолбцом в выражении партиционирования. [#92905](https://github.com/ClickHouse/ClickHouse/pull/92905) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлено возможное отсутствие подстолбца в MV при изменении исходной таблицы. [#93276](https://github.com/ClickHouse/ClickHouse/pull/93276) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка `LOGICAL_ERROR` при восстановлении `ReplicatedMergeTree` в случае гонки дедупликации. [#93612](https://github.com/ClickHouse/ClickHouse/pull/93612) ([Pablo Marcos](https://github.com/pamarcos)).
  * Исправлено использование разреженного столбца для обновления TTL при прямой десериализации, что предотвращает возникновение ошибки `Unexpected type of result TTL column`. [#93619](https://github.com/ClickHouse/ClickHouse/pull/93619) ([Pavel Kruglov](https://github.com/Avogar)).
  * Восстановлены обёртки `LowCardinality` для результатов выражений `SET`, если это необходимо при TTL-агрегации. [#92971](https://github.com/ClickHouse/ClickHouse/pull/92971) ([Seva Potapov](https://github.com/seva-potapov)).
  * Исправлена ошибка `Cannot add action to empty ExpressionActionsChain` при `ALTER TABLE REWRITE PARTS`. [#92754](https://github.com/ClickHouse/ClickHouse/pull/92754) ([Azat Khuzhin](https://github.com/azat)).
  * Исправлена подстановка параметров запроса в методах аутентификации команды `CREATE USER` при использовании `ON CLUSTER`. [#92777](https://github.com/ClickHouse/ClickHouse/pull/92777) ([xiaohuanlin](https://github.com/xiaohuanlin)).
  * Больше не пытается удалять временные каталоги при запуске, если таблица семейства MergeTree находится на диске, доступном только для чтения. [#92748](https://github.com/ClickHouse/ClickHouse/pull/92748) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена материализация индексов пропуска данных, созданных поверх подстолбцов. [#93708](https://github.com/ClickHouse/ClickHouse/pull/93708) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлена команда `CLEAR COLUMN` при наличии зависимых индексов. [#94057](https://github.com/ClickHouse/ClickHouse/pull/94057) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлено присоединение баз данных Replicated в случае, когда после перезапуска менялся межсерверный хост. [#93779](https://github.com/ClickHouse/ClickHouse/pull/93779) ([Tuan Pham Anh](https://github.com/tuanpach)).
  * Исправлена логическая ошибка при использовании `CREATE TABLE ... AS urlCluster()` и движка базы данных `Replicated`. [#92418](https://github.com/ClickHouse/ClickHouse/pull/92418) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлено состояние гонки между `REPLACE PARTITION` и фоновыми мутациями, из-за которого одновременно могли быть видны и старые, и новые данные. [#96955](https://github.com/ClickHouse/ClickHouse/pull/96955) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Устранено оставшееся состояние гонки между `REPLACE PARTITION` и фоновыми мутациями, из-за которого старые данные могли снова появляться. [#97105](https://github.com/ClickHouse/ClickHouse/pull/97105) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлены зависшие мутации, возникавшие, когда `PartCheckThread` повторно ставил в очередь `GET_PART` для части, к которой уже была применена мутация. [#97162](https://github.com/ClickHouse/ClickHouse/pull/97162) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена проблема, из-за которой `ALTER TABLE DROP COLUMN` завершался сбоем, если ранее для того же столбца уже было выполнено легковесное обновление. [#96861](https://github.com/ClickHouse/ClickHouse/pull/96861) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлено разыменование нулевого указателя при применении патч-частей в легковесных обновлениях. [#97583](https://github.com/ClickHouse/ClickHouse/pull/97583) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Части с неизвестными проекциями больше не помечаются как безвозвратно утерянные. [#95952](https://github.com/ClickHouse/ClickHouse/pull/95952) ([Mikhail Artemenko](https://github.com/Michicosun)).
  * Исправлена ошибка, из-за которой в `CREATE TABLE ... CLONE AS ...` игнорировался полный квалификатор исходной таблицы. [#96415](https://github.com/ClickHouse/ClickHouse/pull/96415) ([Hasyimi Bahrudin](https://github.com/hasyimibhar)).
  * Исправлена неявная регенерация индекса в реплицированных таблицах при изменении метаданных. [#96600](https://github.com/ClickHouse/ClickHouse/pull/96600) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлены неявные индексы в столбцах-алиасах и добавлена полная проверка перед их созданием. [#97115](https://github.com/ClickHouse/ClickHouse/pull/97115) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлен случай, когда после TTL-слияния `min(timestamp)` возвращал эпоху (`1970-01-01`) через `_minmax_count_projection`, если все строки были отфильтрованы. [#96703](https://github.com/ClickHouse/ClickHouse/pull/96703) ([Raquel Barbadillo](https://github.com/rbarbadillo)).
  * Исправлена комбинация `use_const_adaptive_granularity` и `index_granularity_bytes` (неадаптивная гранулярность), из-за которой происходил неверный расчёт. [#96143](https://github.com/ClickHouse/ClickHouse/pull/96143) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено исключение `Number of rows in lazy chunk does not match number of offsets` при чтении таблиц с неадаптивной гранулярностью индекса с использованием `ORDER BY ... LIMIT`. [#97270](https://github.com/ClickHouse/ClickHouse/pull/97270) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена регрессия в репликации с нулевым копированием: совместно используемые части могли удаляться до того, как другие реплики успевали завершить их загрузку. [#95597](https://github.com/ClickHouse/ClickHouse/pull/95597) ([filimonov](https://github.com/filimonov)).
  * Исправлена ошибка, из-за которой `SYSTEM RESTART REPLICA` удалял таблицу из базы данных, если повторное создание таблицы завершалось с ошибкой из-за исключения, не связанного с ZooKeeper, что приводило к несовпадению дайджестов метаданных в `DatabaseReplicated`. [#97276](https://github.com/ClickHouse/ClickHouse/pull/97276) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено исключение `assert_cast`, возникавшее при построении статистики по столбцам после изменения типа столбца командой `ALTER TABLE MODIFY COLUMN`. [#97027](https://github.com/ClickHouse/ClickHouse/pull/97027) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Если для таблицы не задана статистика, ClickHouse больше не пытается её загружать, что позволяет избежать лишних накладных расходов. [#96233](https://github.com/ClickHouse/ClickHouse/pull/96233) ([Han Fei](https://github.com/hanfei1991)).
  * Исправлена логическая ошибка `There was an error: Cannot obtain error message`, возникавшая при ожидании выполнения distributed DDL и одновременном удалении базы данных Replicated. [#95664](https://github.com/ClickHouse/ClickHouse/pull/95664) ([Alexander Tokmakov](https://github.com/tavplubix)).
  * Исправлена логическая ошибка в `KeyCondition`, возникавшая, когда у таблицы был первичный ключ типа Nullable, а в запросе `coalesce` использовался с константой в качестве первого аргумента. [#96340](https://github.com/ClickHouse/ClickHouse/pull/96340) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

  ### Исправления типов данных и сериализации

  * Исправлена возможная ошибка при чтении подстолбца size в типах Dynamic/JSON. [#95573](https://github.com/ClickHouse/ClickHouse/pull/95573) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлен сбой при применении `tupleElement` к JSON-массивам. [#95647](https://github.com/ClickHouse/ClickHouse/pull/95647) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка при выполнении `tupleElement` для JSON с вложенными путями, из-за которой возвращались неверные результаты. [#95907](https://github.com/ClickHouse/ClickHouse/pull/95907) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка, из-за которой `tupleElement` генерировал исключение при работе с JSON для путей с подсказками типа. [#97728](https://github.com/ClickHouse/ClickHouse/pull/97728) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена обработка пропускаемых путей в типе данных JSON — ранее `JSON(SKIP path)` пропускал все ключи с префиксом `path` (в том числе такие ключи, как `pathpath`), что могло приводить к потере данных. Теперь пропускается только точное совпадение ключа. [#95948](https://github.com/ClickHouse/ClickHouse/pull/95948) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлено применение `type_json_allow_duplicated_key_with_literal_and_nested_object` к типизированным путям в JSON. [#97422](https://github.com/ClickHouse/ClickHouse/pull/97422) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена проверка на несовместимые типизированные пути в типе JSON. [#92539](https://github.com/ClickHouse/ClickHouse/pull/92539) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка при создании подсказки типа для пути 'skip' в JSON. [#92842](https://github.com/ClickHouse/ClickHouse/pull/92842) ([Pavel Kruglov](https://github.com/Avogar)).
  * В анализаторе исправлено разрешение динамических подстолбцов в псевдонимах столбцов. [#92583](https://github.com/ClickHouse/ClickHouse/pull/92583) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка `Nested columns sizes are inconsistent with local_discriminators`, вызванная неправильной оптимизацией фильтрации на месте для столбцов Variant. [#96410](https://github.com/ClickHouse/ClickHouse/pull/96410) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен сбой в `ifNull` при использовании аргумента `Variant` в `GROUP BY`. [#96790](https://github.com/ClickHouse/ClickHouse/pull/96790) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена логическая ошибка в `FunctionVariantAdaptor` для функций, которым требуются константные аргументы, таких как `arrayROCAUC`. [#97116](https://github.com/ClickHouse/ClickHouse/pull/97116) ([Bharat Nallan](https://github.com/bharatnc)).
  * Исправлена ошибка `LOGICAL_ERROR` в `FunctionVariantAdaptor`, возникавшая, когда функция возвращала тип `Nothing`. [#97213](https://github.com/ClickHouse/ClickHouse/pull/97213) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено логическое исключение при сравнении NULL со столбцом типа Variant, содержащим типы LowCardinality. [#97379](https://github.com/ClickHouse/ClickHouse/pull/97379) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен `LOGICAL_ERROR` в `concat`, если аргумент содержал тип `Variant` с вложенным `LowCardinality`. [#97654](https://github.com/ClickHouse/ClickHouse/pull/97654) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлены ошибки в результатах при преобразовании столбцов `LowCardinality` в `Nullable`. [#96483](https://github.com/ClickHouse/ClickHouse/pull/96483) ([Nihal Z. Miaji](https://github.com/nihalzp)).
  * Исправлена корректная обработка типов `LowCardinality Nullable` в `CAST`, когда был включен `cast_keep_nullable`. [#95747](https://github.com/ClickHouse/ClickHouse/pull/95747) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено исключение `ColumnNullable is not compatible with original`, возникавшее при приведении сложных вложенных типов. [#96924](https://github.com/ClickHouse/ClickHouse/pull/96924) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `LOGICAL_ERROR` при использовании `isNull`/`isNotNull` с подстолбцами типов `Nullable(Tuple(... Nullable(T) ...))`. [#97582](https://github.com/ClickHouse/ClickHouse/pull/97582) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `LOGICAL_ERROR` при преобразовании `Array` в `QBit`. [#97413](https://github.com/ClickHouse/ClickHouse/pull/97413) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `LOGICAL_ERROR` при одновременном чтении разреженного столбца и его подстолбца. [#97515](https://github.com/ClickHouse/ClickHouse/pull/97515) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлена ошибка `LOGICAL_ERROR` при чтении подстолбца `.size` из разреженного `Nullable(String)` в Tuple с PREWHERE. [#97264](https://github.com/ClickHouse/ClickHouse/pull/97264) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен сбой из-за ошибки проверки утверждения в `Set` и `MergeTreeIndexSet` при обработке столбцов с внутренними разреженными подстолбцами. [#97493](https://github.com/ClickHouse/ClickHouse/pull/97493) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена возможная ошибка `SIZES_OF_COLUMNS_DOESNT_MATCH` при сортировке пустого столбца типа Tuple. [#92520](https://github.com/ClickHouse/ClickHouse/pull/92520) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлены ошибки декодирования `DELTA_BYTE_ARRAY` в нативном ридере Parquet, затрагивавшие строковые данные с высокой повторяемостью. [#91929](https://github.com/ClickHouse/ClickHouse/pull/91929) ([Daniel Muino](https://github.com/dmuino)).
  * Исправлено срабатывание assertion при чтении из файла Parquet, когда часть выражения PREWHERE использовалась в другой части запроса. [#90635](https://github.com/ClickHouse/ClickHouse/pull/90635) ([Max Kainov](https://github.com/maxknv)).
  * Исправлена `LOGICAL_ERROR` в нативном ридере Parquet V3, когда столбец фильтра PREWHERE содержал значения UInt8, не являющиеся булевыми. [#96594](https://github.com/ClickHouse/ClickHouse/pull/96594) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено определение схемы Parquet в старом механизме чтения, когда JSON-столбец следовал за столбцом Tuple. [#92867](https://github.com/ClickHouse/ClickHouse/pull/92867) ([Michael Kolupaev](https://github.com/al13n321)).
  * Исправлено кэширование фиксированной схемы для всех файлов вместо только того файла, для которого схема была выведена, при выводе схемы через glob. [#92006](https://github.com/ClickHouse/ClickHouse/pull/92006) ([Pavel Kruglov](https://github.com/Avogar)).
  * Исправлено чтение формата `ProtobufList` из пустых файлов, из-за которого для пустых таблиц создавались фиктивные записи. [#96007](https://github.com/ClickHouse/ClickHouse/pull/96007) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена регрессия в кодеке `Gorilla`, возникавшая при явно указанном размере, не соответствовавшем размеру типа данных. [#96118](https://github.com/ClickHouse/ClickHouse/pull/96118) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Движок PostgreSQL теперь корректно читает `BOOLEAN[]`. [#96006](https://github.com/ClickHouse/ClickHouse/pull/96006) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена логическая ошибка при чтении столбца UUID из текстового столбца SQLite. [#96016](https://github.com/ClickHouse/ClickHouse/pull/96016) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено преобразование типов `DateTime`, `Date`, `UUID` и других в движке SQLite. [#96017](https://github.com/ClickHouse/ClickHouse/pull/96017) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено некорректное экранирование значений `FixedString` в запросах к SQLite и PostgreSQL. [#96019](https://github.com/ClickHouse/ClickHouse/pull/96019) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Добавлена настройка `input_format_numbers_enum_on_conversion_error` для преобразования чисел в значения enum. [#56240](https://github.com/ClickHouse/ClickHouse/pull/56240) ([Nikolay Degterinsky](https://github.com/evillique)).

  ### Исправления text index и индекса пропуска данных

  * Создание и материализация текстовых индексов для таблиц с частями, содержащими более 4 294 967 295 строк, временно отключены во избежание некорректных результатов запросов. [#92644](https://github.com/ClickHouse/ClickHouse/pull/92644) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлено несколько сбоев при слиянии текстовых индексов в таблицах семейства MergeTree. [#92925](https://github.com/ClickHouse/ClickHouse/pull/92925) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлены слияния текстовых индексов, построенных на сложных выражениях (например, `concat(col1, col2)`). [#93073](https://github.com/ClickHouse/ClickHouse/pull/93073) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлен анализ текстового индекса для столбцов типа Array, когда индекс не содержал токенов. [#93457](https://github.com/ClickHouse/ClickHouse/pull/93457) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлено перестроение текстовых индексов, созданных на основе подстолбцов. [#93326](https://github.com/ClickHouse/ClickHouse/pull/93326) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлена работа прямого чтения из текстового индекса при дублирующихся поисковых запросах. [#93516](https://github.com/ClickHouse/ClickHouse/pull/93516) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлены несогласованности в анализе текстового индекса для функций `has`, `mapContainsKey` и `mapContainsValue`, из-за которых они могли возвращать разные результаты в зависимости от использования текстового индекса. [#93578](https://github.com/ClickHouse/ClickHouse/pull/93578) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлен расчёт несжатых размеров текстовых индексов в `system.parts`. [#92832](https://github.com/ClickHouse/ClickHouse/pull/92832) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлена проблема с индексами `ngrambf_v1`: при длине n-граммы > 8 они генерировали исключение. [#92672](https://github.com/ClickHouse/ClickHouse/pull/92672) ([Robert Schulze](https://github.com/rschu1ze)).
  * Исправлен индекс `ngram_bf` для данных в кодировке, отличной от UTF-8, что приводило к чтению неинициализированной памяти. [#93663](https://github.com/ClickHouse/ClickHouse/pull/93663) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка `stack-use-after-scope` в индексе векторного сходства. [#96259](https://github.com/ClickHouse/ClickHouse/pull/96259) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена логическая ошибка, возникавшая, когда выражение индекса пропуска данных возвращало константный столбец. [#96880](https://github.com/ClickHouse/ClickHouse/pull/96880) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка при создании таблицы с пустым выражением `()` в качестве индекса, которая приводила к недопустимому доступу к памяти. [#96363](https://github.com/ClickHouse/ClickHouse/pull/96363) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка use-after-free при анализе индексов при отключённом `use_primary_key` и очень большом количестве дизъюнкций. [#96112](https://github.com/ClickHouse/ClickHouse/pull/96112) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено использование первичного индекса при легковесных обновлениях с подзапросами с оператором `IN` в условии `WHERE`. [#92838](https://github.com/ClickHouse/ClickHouse/pull/92838) ([Anton Popov](https://github.com/CurtizJ)).
  * При проверке индекса hypothesis теперь используется корректный код ошибки. [#92559](https://github.com/ClickHouse/ClickHouse/pull/92559) ([Raúl Marín](https://github.com/Algunenano)).

  ### Исправления для озера данных

  * Исправлено падение в одноузловом кластере при чтении из Iceberg в режиме split-by-buckets. [#91553](https://github.com/ClickHouse/ClickHouse/pull/91553) ([Konstantin Vedernikov](https://github.com/scanhex12)).
  * Исправлен кортеж в ORDER BY для Iceberg. [#93225](https://github.com/ClickHouse/ClickHouse/pull/93225) ([Konstantin Vedernikov](https://github.com/scanhex12)).
  * Исправлена поддержка предоставляемых учетных данных Azure ADLS Gen2 в DataLakeCatalog — теперь разбираются ключи `adls.sas-token.*` из REST-каталогов Iceberg, а также исправлен разбор URL ABFSS. [#93477](https://github.com/ClickHouse/ClickHouse/pull/93477) ([Karun Anantharaman](https://github.com/karunmotorq)).
  * Для Iceberg тип `Date` заменён на `Date32`. [#95322](https://github.com/ClickHouse/ClickHouse/pull/95322) ([Konstantin Vedernikov](https://github.com/scanhex12)).
  * Исправлен сбой, возникавший при использовании ORDER BY в Iceberg. [#96484](https://github.com/ClickHouse/ClickHouse/pull/96484) ([Konstantin Vedernikov](https://github.com/scanhex12)).
  * Исправлено партиционирование в Iceberg. [#96620](https://github.com/ClickHouse/ClickHouse/pull/96620) ([Konstantin Vedernikov](https://github.com/scanhex12)).
  * Исправлены некорректные границы для файлов данных в записях манифеста Iceberg, когда ссылка на position delete была NULL. [#96061](https://github.com/ClickHouse/ClickHouse/pull/96061) ([Daniil Ivanik](https://github.com/divanik)).
  * Добавлены дополнительные проверки для настройки корневого файла метаданных в Iceberg. [#96754](https://github.com/ClickHouse/ClickHouse/pull/96754) ([Daniil Ivanik](https://github.com/divanik)).
  * В каталогах Iceberg учетные данные больше не записываются в журнал. [#96831](https://github.com/ClickHouse/ClickHouse/pull/96831) ([Konstantin Vedernikov](https://github.com/scanhex12)).
  * Исправлено слияние партиционированных данных Delta Lake. [#95773](https://github.com/ClickHouse/ClickHouse/pull/95773) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлена ошибка в RESTful-каталоге озера данных: недопустимый `auth_header` нарушал работу `system.tables`. [#96680](https://github.com/ClickHouse/ClickHouse/pull/96680) ([Han Fei](https://github.com/hanfei1991)).

  ### Исправления S3/Azure/объектного хранилища

  * Исправлено кэширование ключа партиционирования для движка таблицы S3 в случаях, когда использовались недетерминированные функции. [#92844](https://github.com/ClickHouse/ClickHouse/pull/92844) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
  * Исправлен assert в `ReadBufferFromS3`, возникавший при включенном кэше. [#93809](https://github.com/ClickHouse/ClickHouse/pull/93809) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлена возможная ошибка в потоке очистки DiskObjectStorage. [#87411](https://github.com/ClickHouse/ClickHouse/pull/87411) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Устранены возможные взаимные блокировки в `DiskObjectStorageTransaction`. [#93810](https://github.com/ClickHouse/ClickHouse/pull/93810) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлены возможные сбои в потоке очистки DiskObjectStorage при большом количестве ошибок. [#94048](https://github.com/ClickHouse/ClickHouse/pull/94048) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлено состояние гонки в `copyS3File` при обработке multipart\_tags. [#97227](https://github.com/ClickHouse/ClickHouse/pull/97227) ([Azat Khuzhin](https://github.com/azat)).
  * Запуск некорректной мутации `ALTER UPDATE` для файлоподобных таблиц в объектном хранилище (S3, Azure) больше не приводил к разыменованию нулевого указателя. [#96162](https://github.com/ClickHouse/ClickHouse/pull/96162) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

  ### Исправления S3Queue

  * Исправлена ошибка `Failed to set file processing within 100 retries` в режиме упорядоченной обработки S3Queue (теперь это предупреждение, а не ошибка). [#92814](https://github.com/ClickHouse/ClickHouse/pull/92814) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлена ошибка, связанная с настройкой S3Queue `s3queue_migrate_old_metadata_to_buckets`. [#93232](https://github.com/ClickHouse/ClickHouse/pull/93232) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлены метаданные движков S3Queue/AzureQueue. [#90498](https://github.com/ClickHouse/ClickHouse/pull/90498) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлено состояние гонки в хранилище S3Queue/AzureQueue. [#95385](https://github.com/ClickHouse/ClickHouse/pull/95385) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлена дедупликация при стриминге из движка S3Queue/AzureQueue. [#95467](https://github.com/ClickHouse/ClickHouse/pull/95467) ([Kseniia Sumarokova](https://github.com/kssenii)).

  ### Исправления в области безопасности и управления доступом

  * Исправлено отсутствие проверки доступа в `SYSTEM SYNC FILE CACHE`. [#92372](https://github.com/ClickHouse/ClickHouse/pull/92372) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлена некорректная логика проверки привилегий доступа с подстановочными знаками, которая была слишком строгой. [#92725](https://github.com/ClickHouse/ClickHouse/pull/92725) ([pufit](https://github.com/pufit)).
  * Пользователям запретили получать список столбцов таблицы без разрешения `SHOW COLUMNS` при использовании движка таблицы `merge`. [#93695](https://github.com/ClickHouse/ClickHouse/pull/93695) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
  * Исправлена уязвимость из-за переполнения целого числа при десериализации состояния `groupConcat`, которая могла приводить к нарушениям безопасности памяти. [#93426](https://github.com/ClickHouse/ClickHouse/pull/93426) ([Raufs Dunamalijevs](https://github.com/rienath)).
  * Проверено, что размер распакованного буфера соответствует ожидаемому значению. [#93690](https://github.com/ClickHouse/ClickHouse/pull/93690) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлена ошибка при отзыве ролей по умолчанию. [#96103](https://github.com/ClickHouse/ClickHouse/pull/96103) ([Vitaly Baranov](https://github.com/vitlibar)).
  * Исправлено некорректное поведение `AccessRights::contains`, из-за которого при частичном отзыве привилегий возвращались неверные результаты. [#96170](https://github.com/ClickHouse/ClickHouse/pull/96170) ([pufit](https://github.com/pufit)).
  * Исправлено обновление политик доступа на уровне строк, назначенных первоначальному пользователю, в распределённых запросах. [#95469](https://github.com/ClickHouse/ClickHouse/pull/95469) ([Vitaly Baranov](https://github.com/vitlibar)).
  * Аргумент `password` табличной функции `redis` теперь маскируется в журналах и системных таблицах. [#95325](https://github.com/ClickHouse/ClickHouse/pull/95325) ([Janos Benjamin Antal](https://github.com/antaljanosbenjamin)).
  * Исправлена утечка памяти в объектах BIO при чтении сертификатов X509. [#96885](https://github.com/ClickHouse/ClickHouse/pull/96885) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Добавлена проверка `witness version` в bech32 во избежание переполнения буфера. [#96671](https://github.com/ClickHouse/ClickHouse/pull/96671) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлено замедление при выполнении запросов к системным таблицам пользователем с ограниченными привилегиями во многих базах данных. [#95874](https://github.com/ClickHouse/ClickHouse/pull/95874) ([pufit](https://github.com/pufit)).

  ### Исправления резервного копирования и восстановления

  * Исправлена ошибка `Couldn't pack tar archive: Failed to write all bytes`, вызванная некорректным заголовком с размером записи в архиве. [#92122](https://github.com/ClickHouse/ClickHouse/pull/92122) ([Julia Kartseva](https://github.com/jkartseva)).
  * Исправлен сбой сервера при одновременном выполнении множества резервных копий, пытавшихся использовать одни и те же файлы. [#93659](https://github.com/ClickHouse/ClickHouse/pull/93659) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено переполнение стека при создании резервных копий в виде архивов (`.zip`, `.tzst`) на диске объектного хранилища `plain_rewritable`. [#96872](https://github.com/ClickHouse/ClickHouse/pull/96872) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен сбой сервера, возникавший, когда резервное копирование завершалось ошибкой из-за переполнения диска или других ошибок ввода-вывода. [#96873](https://github.com/ClickHouse/ClickHouse/pull/96873) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен segfault при резервном копировании `StorageKeeperMap`, вызванный use-after-free. [#97336](https://github.com/ClickHouse/ClickHouse/pull/97336) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

  ### Исправления сбоев и стабильности

  * Исправлен сбой при чтении из отключённого `Connection`. [#92807](https://github.com/ClickHouse/ClickHouse/pull/92807) ([Raufs Dunamalijevs](https://github.com/rienath)).
  * Исправлен возможный сбой в функции `tokens()` при `NULL` во втором аргументе. [#92586](https://github.com/ClickHouse/ClickHouse/pull/92586) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлен сбой сервера при вызове `tokens` с неконстантными параметрами токенизатора. [#93383](https://github.com/ClickHouse/ClickHouse/pull/93383) ([Robert Schulze](https://github.com/rschu1ze)).
  * Исправлен возможный сбой, вызванный изменением на месте базовых константных столбцов PREWHERE при одновременном сокращении столбцов или фильтрации. [#92588](https://github.com/ClickHouse/ClickHouse/pull/92588) ([Arsen Muk](https://github.com/arsenmuk)).
  * Исправлено возможное зависание при завершении фонового пула планировщика, которое могло приводить к зависанию сервера при выключении. [#93008](https://github.com/ClickHouse/ClickHouse/pull/93008) ([Azat Khuzhin](https://github.com/azat)).
  * Исправлена проблема, из-за которой соединения оставались в некорректном состоянии после досрочной отмены распределённых запросов. [#93029](https://github.com/ClickHouse/ClickHouse/pull/93029) ([Azat Khuzhin](https://github.com/azat)).
  * Исправлена возможная ошибка `Cannot finalize buffer after cancellation` в `estimateCompressionRatio()`. [#93068](https://github.com/ClickHouse/ClickHouse/pull/93068) ([Azat Khuzhin](https://github.com/azat)).
  * Обеспечено корректное завершение работы ZooKeeper при остановке, что устраняет возможные зависания. [#93602](https://github.com/ClickHouse/ClickHouse/pull/93602) ([Azat Khuzhin](https://github.com/azat)).
  * Исправлено необработанное исключение при фоновой перезагрузке named collections в хранилище ZooKeeper. [#92717](https://github.com/ClickHouse/ClickHouse/pull/92717) ([Kseniia Sumarokova](https://github.com/kssenii)).
  * Исправлена ошибка использования неинициализированного значения в `ReadWriteBufferFromHTTP`. [#94058](https://github.com/ClickHouse/ClickHouse/pull/94058) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена ошибка, из-за которой размер буфера `TraceSender` не обновлялся, что приводило к чередованию операций flush из разных потоков. [#93966](https://github.com/ClickHouse/ClickHouse/pull/93966) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
  * Сохранили в `QueryPipeline` разделяемые указатели на хранилища, чтобы объекты `IStorage` не уничтожались, пока существует `PipelineExecutor`. [#93746](https://github.com/ClickHouse/ClickHouse/pull/93746) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
  * Устранён возможный сбой при отмене распределённых запросов. [#95466](https://github.com/ClickHouse/ClickHouse/pull/95466) ([Aleksandr Musorin](https://github.com/AVMusorin)).
  * Исправлен сбой при выполнении `DROP WORKLOAD` одновременно с запросами. [#95856](https://github.com/ClickHouse/ClickHouse/pull/95856) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Устранена гонка данных в `DROP WORKLOAD`. [#96614](https://github.com/ClickHouse/ClickHouse/pull/96614) ([Sergei Trifonov](https://github.com/serxa)).
  * Исправлены несколько критических ошибок, связанных с использованием `ThreadPoolCallbackRunnerLocal`. [#95818](https://github.com/ClickHouse/ClickHouse/pull/95818) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлена возможная взаимоблокировка в `ProcessList` из-за инверсии блокировок при срабатывании трекера оверкоммита памяти. [#96182](https://github.com/ClickHouse/ClickHouse/pull/96182) ([Antonio Andelic](https://github.com/antonio2368)).
  * Исправлен livelock в потоке проверки отмены для запросов с большим значением `max_execution_time`. [#96450](https://github.com/ClickHouse/ClickHouse/pull/96450) ([Sergei Trifonov](https://github.com/serxa)).
  * Исправлено зависание потока очистки в MemoryWorker из-за состояния гонки. [#96819](https://github.com/ClickHouse/ClickHouse/pull/96819) ([Antonio Andelic](https://github.com/antonio2368)).
  * Исправлен сбой в `clearCaches`, возникавший из-за преждевременного уничтожения кэшированных снимков хранилища. [#96995](https://github.com/ClickHouse/ClickHouse/pull/96995) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлен `heap-use-after-free` при `CREATE TABLE` с ограничениями. [#96669](https://github.com/ClickHouse/ClickHouse/pull/96669) ([Nikita Taranov](https://github.com/nickitat)).
  * Исправлена возможная ошибка use-after-free в `StorageKafka2`. [#97520](https://github.com/ClickHouse/ClickHouse/pull/97520) ([Bharat Nallan](https://github.com/bharatnc)).
  * Исправлено состояние гонки для `shutdown_called` в `DatabaseMaterializedPostgreSQL`. [#97554](https://github.com/ClickHouse/ClickHouse/pull/97554) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено состояние гонки при параллельной загрузке сегментированного словаря `HASHED`, которое могло приводить к тому, что некоторые строки не загружались. [#96953](https://github.com/ClickHouse/ClickHouse/pull/96953) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлена взаимная блокировка словарей, когда один словарь ссылался на таблицу Merge, которая рекурсивно ссылалась на него. [#96120](https://github.com/ClickHouse/ClickHouse/pull/96120) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Исправлено обращение за пределы допустимых границ в `BaseSettings::readBinary`, возникавшее, когда более новый сервер отправлял неизвестную настройку во время десериализации плана запроса. [#97585](https://github.com/ClickHouse/ClickHouse/pull/97585) ([Michael Stetsyuk](https://github.com/mstetsyuk)).
  * Исправлен сбой при подключении таблицы к базе данных `MaterializedPostgreSQL`, если `dropReplicationSlot` выбрасывал исключение во время размотки стека. [#96871](https://github.com/ClickHouse/ClickHouse/pull/96871) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
  * Освобожден поток запроса в INSERT SELECT, чтобы избежать закрытия HTTP-соединения. [#92175](https://github.com/ClickHouse/ClickHouse/pull/92175) ([Sema Checherinda](https://github.com/CheSema)).
  * Устранена взаимная блокировка при выполнении `SHOW CREATE DATABASE` для базы данных Backup. [#92541](https://github.com/ClickHouse/ClickHouse/pull/92541) ([Azat Khuzhin](https://github.com/azat)).

  ### Другие исправления ошибок

  * Исправлена обработка пустых массивов в `handleAllTokens` для функций `hasAllTokens` и `hasAnyTokens`. [#93328](https://github.com/ClickHouse/ClickHouse/pull/93328) ([Anton Popov](https://github.com/CurtizJ)).
  * Исправлен период для глобальных профилировщиков: вместо установленного значения использовалось усечённое, из-за чего они пробуждались чаще. [#96048](https://github.com/ClickHouse/ClickHouse/pull/96048) ([Antonio Andelic](https://github.com/antonio2368)).
  * Исправлено поле `event_date` в `system.asynchronous_metric_log`. [#95947](https://github.com/ClickHouse/ClickHouse/pull/95947) ([Raúl Marín](https://github.com/Algunenano)).
  * Исправлено: для внутренних функций в `system.functions` вместо `categories = 'Internal'` отображалась пустая строка. [#97315](https://github.com/ClickHouse/ClickHouse/pull/97315) ([Robert Schulze](https://github.com/rschu1ze)).
  * Исправлена возможная логическая ошибка в словаре `ip_trie`, если тип ключа не был String. [#97555](https://github.com/ClickHouse/ClickHouse/pull/97555) ([Bharat Nallan](https://github.com/bharatnc)).
  * Исправлена отладка UDF: в `system.query_log.exception` включён захват stderr. [#92209](https://github.com/ClickHouse/ClickHouse/pull/92209) ([Xu Jia](https://github.com/XuJia0210)).
  * Исправлена работа `filterPartsByVirtualColumns` с константно ложными предикатами. [#97620](https://github.com/ClickHouse/ClickHouse/pull/97620) ([Bharat Nallan](https://github.com/bharatnc)).
  * Исправлена проблема, из-за которой `ColumnConst` не был материализован перед укрупнением. [#97019](https://github.com/ClickHouse/ClickHouse/pull/97019) ([Hasyimi Bahrudin](https://github.com/hasyimibhar)).
</Accordion>
