> ## 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.

# Изменения за 2019 год

> Список изменений за 2019 год

<div id="clickhouse-release-v19-17">
  ## Релиз ClickHouse 19.17
</div>

<div id="clickhouse-release-v19-17-6-36-2019-12-27">
  ### Релиз ClickHouse 19.17.6.36, 2019-12-27
</div>

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

* Исправлено потенциальное переполнение буфера при распаковке. Злоумышленник мог передать специально сформированные сжатые данные, что могло привести к чтению за пределами буфера. Эту проблему обнаружил Eldar Zaitov из команды информационной безопасности Yandex. [#8404](https://github.com/ClickHouse/ClickHouse/pull/8404) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено возможное аварийное завершение работы сервера (`std::terminate`), если сервер не может отправить или записать данные в формате JSON или XML, содержащие значения типа String (требующие проверки UTF-8), а также при сжатии данных результата алгоритмом Brotli и в некоторых других редких случаях. [#8384](https://github.com/ClickHouse/ClickHouse/pull/8384) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены словари, использующие в качестве источника ClickHouse `VIEW`: теперь чтение таких словарей не вызывает ошибку `There is no query`. [#8351](https://github.com/ClickHouse/ClickHouse/pull/8351) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлена проверка, разрешён ли хост клиента по host\_regexp, указанному в users.xml. [#8241](https://github.com/ClickHouse/ClickHouse/pull/8241), [#8342](https://github.com/ClickHouse/ClickHouse/pull/8342) ([Vitaly Baranov](https://github.com/vitlibar))
* `RENAME TABLE` для distributed таблицы теперь переименовывает папку, содержащую вставленные данные, перед их отправкой в сегменты. Это устраняет проблему при последовательных переименованиях `tableA->tableB`, `tableC->tableA`. [#8306](https://github.com/ClickHouse/ClickHouse/pull/8306) ([tavplubix](https://github.com/tavplubix))
* `range_hashed` внешние словари, созданные с помощью DDL-запросов, теперь поддерживают диапазоны для произвольных числовых типов. [#8275](https://github.com/ClickHouse/ClickHouse/pull/8275) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка в табличной функции `INSERT INTO table SELECT ... FROM mysql(...)`. [#8234](https://github.com/ClickHouse/ClickHouse/pull/8234) ([tavplubix](https://github.com/tavplubix))
* Исправлен segfault в `INSERT INTO TABLE FUNCTION file()` при вставке в несуществующий файл. Теперь в этом случае файл будет создан, а затем будет выполнена вставка. [#8177](https://github.com/ClickHouse/ClickHouse/pull/8177) ([Olga Khvostikova](https://github.com/stavrolia))
* Исправлена ошибка в bitmapAnd при пересечении агрегированного битмапа и скалярного битмапа. [#8082](https://github.com/ClickHouse/ClickHouse/pull/8082) ([Yue Huang](https://github.com/moon03432))
* Исправлен segfault при использовании запроса `EXISTS` без квалификатора `TABLE` или `DICTIONARY`, например `EXISTS t`. [#8213](https://github.com/ClickHouse/ClickHouse/pull/8213) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен возвращаемый тип функций `rand` и `randConstant` в случае аргумента типа Nullable. Теперь эти функции всегда возвращают `UInt32` и никогда — `Nullable(UInt32)`. [#8204](https://github.com/ClickHouse/ClickHouse/pull/8204) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен `DROP DICTIONARY IF EXISTS db.dict`: теперь исключение не генерируется, если `db` не существует. [#8185](https://github.com/ClickHouse/ClickHouse/pull/8185) ([Vitaly Baranov](https://github.com/vitlibar))
* Если таблица была удалена не полностью из-за сбоя сервера, сервер попытается восстановить её и загрузить [#8176](https://github.com/ClickHouse/ClickHouse/pull/8176) ([tavplubix](https://github.com/tavplubix))
* Исправлен тривиальный `count`-запрос для distributed таблицы, если локальных таблиц сегментов больше двух. [#8164](https://github.com/ClickHouse/ClickHouse/pull/8164) ([小路](https://github.com/nicelulu))
* Исправлена ошибка, которая приводила к гонке данных в `DB::BlockStreamProfileInfo::calculateRowsBeforeLimit()` [#8143](https://github.com/ClickHouse/ClickHouse/pull/8143) ([Alexander Kazakov](https://github.com/Akazz))
* Исправлено выполнение `ALTER table MOVE part` сразу после слияния указанной части, из-за чего могла перемещаться часть, в которую сливалась указанная. Теперь корректно перемещается именно указанная часть. [#8104](https://github.com/ClickHouse/ClickHouse/pull/8104) ([Vladimir Chebotarev](https://github.com/excitoon))
* Теперь выражения для словарей можно задавать в виде строк. Это полезно для вычисления атрибутов при извлечении данных из источников, отличных от ClickHouse, поскольку позволяет использовать в таких выражениях синтаксис, отличный от синтаксиса ClickHouse. [#8098](https://github.com/ClickHouse/ClickHouse/pull/8098) ([alesapin](https://github.com/alesapin))
* Исправлено очень редкое состояние гонки в `clickhouse-copier`, вызванное переполнением ZXid. [#8088](https://github.com/ClickHouse/ClickHouse/pull/8088) ([Ding Xiang Fei](https://github.com/dingxiangfei2009))
* Исправлена ошибка, из-за которой после сбоя запроса (например, из-за "Too many simultaneous queries") не считывалась информация о внешних таблицах, и
  следующий запрос воспринимал эту информацию как начало нового запроса, что приводило к ошибке вида `Unknown packet from client`. [#8084](https://github.com/ClickHouse/ClickHouse/pull/8084) ([Azat Khuzhin](https://github.com/azat))
* Предотвращено разыменование null после "Unknown packet X from server" [#8071](https://github.com/ClickHouse/ClickHouse/pull/8071) ([Azat Khuzhin](https://github.com/azat))
* Восстановлена поддержка всех локалей ICU, добавлена возможность применять collation к константным выражениям, а в таблицу system.collations добавлено название языка. [#8051](https://github.com/ClickHouse/ClickHouse/pull/8051) ([alesapin](https://github.com/alesapin))
* Количество потоков чтения из `StorageFile` и `StorageHDFS` теперь ограничено, чтобы не допускать превышения лимита памяти. [#7981](https://github.com/ClickHouse/ClickHouse/pull/7981) ([alesapin](https://github.com/alesapin))
* Исправлен запрос `CHECK TABLE` для таблиц семейства `*MergeTree` без ключа. [#7979](https://github.com/ClickHouse/ClickHouse/pull/7979) ([alesapin](https://github.com/alesapin))
* Удалён номер мутации из имени части, если мутаций не было. Это улучшило совместимость со старыми версиями. [#8250](https://github.com/ClickHouse/ClickHouse/pull/8250) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка, из-за которой для некоторых присоединённых частей пропускались мутации, поскольку их data\_version превышает версию мутации таблицы. [#7812](https://github.com/ClickHouse/ClickHouse/pull/7812) ([Zhichang Yu](https://github.com/yuzhichang))
* Разрешён запуск сервера при наличии избыточных копий частей после их перемещения на другое устройство. [#7810](https://github.com/ClickHouse/ClickHouse/pull/7810) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена ошибка "Sizes of columns does not match", которая могла возникать при использовании столбцов с агрегатными функциями. [#7790](https://github.com/ClickHouse/ClickHouse/pull/7790) ([Boris Granveaud](https://github.com/bgranvea))
* Теперь при использовании WITH TIES вместе с LIMIT BY будет сгенерировано исключение. Также теперь можно использовать TOP с LIMIT BY. [#7637](https://github.com/ClickHouse/ClickHouse/pull/7637) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Исправлена перезагрузка словаря при наличии `invalidate_query`, из-за которого прекращались обновления и возникало исключение при предыдущих попытках обновления. [#8029](https://github.com/ClickHouse/ClickHouse/pull/8029) ([alesapin](https://github.com/alesapin))

<div id="clickhouse-release-v19-17-4-11-2019-11-22">
  ### Релиз ClickHouse 19.17.4.11, 2019-11-22
</div>

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* Для хранения результатов скалярных подзапросов вместо AST теперь используется столбец — для повышения производительности. Параметр `enable_scalar_subquery_optimization` был добавлен в версии 19.17 и включен по умолчанию. Это приводит к ошибкам, подобным [этой](https://github.com/ClickHouse/ClickHouse/issues/7851), при обновлении с предыдущих версий до 19.17.2 или 19.17.3. В 19.17.4 этот параметр по умолчанию отключили, чтобы сделать возможным обновление с 19.16 и более ранних версий без ошибок. [#7392](https://github.com/ClickHouse/ClickHouse/pull/7392) ([Amos Bird](https://github.com/amosbird))

<div id="new-feature">
  #### Новая возможность
</div>

* Добавлена возможность создавать словари с помощью DDL-запросов. [#7360](https://github.com/ClickHouse/ClickHouse/pull/7360) ([alesapin](https://github.com/alesapin))
* Тип индекса `bloom_filter` теперь поддерживает `LowCardinality` и `Nullable` [#7363](https://github.com/ClickHouse/ClickHouse/issues/7363) [#7561](https://github.com/ClickHouse/ClickHouse/pull/7561) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Добавлена функция `isValidJSON` для проверки того, что переданная строка является корректным JSON. [#5910](https://github.com/ClickHouse/ClickHouse/issues/5910) [#7293](https://github.com/ClickHouse/ClickHouse/pull/7293) ([Vdimir](https://github.com/Vdimir))
* Реализована функция `arrayCompact` [#7328](https://github.com/ClickHouse/ClickHouse/pull/7328) ([Memo](https://github.com/Joeywzr))
* Добавлена функция `hex` для чисел типа Decimal. Она работает как `hex(reinterpretAsString())`, но не удаляет последние нулевые байты. [#7355](https://github.com/ClickHouse/ClickHouse/pull/7355) ([Mikhail Korotov](https://github.com/millb))
* Добавлены функции `arrayFill` и `arrayReverseFill`, которые заменяют элементы другими элементами перед ними или после них в массиве. [#7380](https://github.com/ClickHouse/ClickHouse/pull/7380) ([hcz](https://github.com/hczhcz))
* Добавлена поддержка `CRC32IEEE()`/`CRC64()` [#7480](https://github.com/ClickHouse/ClickHouse/pull/7480) ([Azat Khuzhin](https://github.com/azat))
* Реализована функция `char`, аналогичная функции в [mysql](https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_char) [#7486](https://github.com/ClickHouse/ClickHouse/pull/7486) ([sundyli](https://github.com/sundy-li))
* Добавлена функция `bitmapTransform`. Она преобразует массив значений в битмапе в другой массив значений; результатом является новый битмап [#7598](https://github.com/ClickHouse/ClickHouse/pull/7598) ([Zhichang Yu](https://github.com/yuzhichang))
* Реализована функция `javaHashUTF16LE()` [#7651](https://github.com/ClickHouse/ClickHouse/pull/7651) ([achimbab](https://github.com/achimbab))
* Добавлен виртуальный столбец `_shard_num` для движка Distributed [#7624](https://github.com/ClickHouse/ClickHouse/pull/7624) ([Azat Khuzhin](https://github.com/azat))

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

* Поддержка processors (новый конвейер выполнения запроса) в `MergeTree`. [#7181](https://github.com/ClickHouse/ClickHouse/pull/7181) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

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

* Исправлен некорректный разбор чисел с плавающей точкой в `Values` [#7817](https://github.com/ClickHouse/ClickHouse/issues/7817) [#7870](https://github.com/ClickHouse/ClickHouse/pull/7870) ([tavplubix](https://github.com/tavplubix))
* Исправлена редкая взаимная блокировка, которая может возникнуть при включенном trace\_log. [#7838](https://github.com/ClickHouse/ClickHouse/pull/7838) ([filimonov](https://github.com/filimonov))
* Предотвращено дублирование сообщений при записи в таблицу Kafka, если из неё выбирают данные MV [#7265](https://github.com/ClickHouse/ClickHouse/pull/7265) ([Ivan](https://github.com/abyss7))
* Поддержка `Array(LowCardinality(Nullable(String)))` в `IN`. Устранена проблема [#7364](https://github.com/ClickHouse/ClickHouse/issues/7364) [#7366](https://github.com/ClickHouse/ClickHouse/pull/7366) ([achimbab](https://github.com/achimbab))
* Добавлена обработка `SQL_TINYINT` и `SQL_BIGINT`, а также исправлена обработка типа данных `SQL_FLOAT` в источниках данных моста ODBC. [#7491](https://github.com/ClickHouse/ClickHouse/pull/7491) ([Denis Glazachev](https://github.com/traceon))
* Исправлена агрегация (`avg` и quantiles) для пустых столбцов типа Decimal [#7431](https://github.com/ClickHouse/ClickHouse/pull/7431) ([Andrey Konyaev](https://github.com/akonyaev90))
* Исправлена операция `INSERT` в Distributed со столбцами `MATERIALIZED` [#7377](https://github.com/ClickHouse/ClickHouse/pull/7377) ([Azat Khuzhin](https://github.com/azat))
* Исправлена работа `MOVE PARTITION`, если некоторые части партиции уже находятся на целевом диске или томе [#7434](https://github.com/ClickHouse/ClickHouse/pull/7434) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена ошибка, из-за которой в многодисковых конфигурациях во время мутаций в `ReplicatedMergeTree` не создавались жёсткие ссылки. [#7558](https://github.com/ClickHouse/ClickHouse/pull/7558) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена ошибка мутации в MergeTree, возникавшая, когда вся часть оставалась неизменной и подбирался другой диск с наибольшим свободным местом [#7602](https://github.com/ClickHouse/ClickHouse/pull/7602) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена ошибка, из-за которой `keep_free_space_ratio` не считывался из раздела конфигурации `disks` [#7645](https://github.com/ClickHouse/ClickHouse/pull/7645) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена ошибка в таблицах, содержащих только столбцы `Tuple` или столбцы со сложными путями. Исправлено в [7541](https://github.com/ClickHouse/ClickHouse/issues/7541). [#7545](https://github.com/ClickHouse/ClickHouse/pull/7545) ([alesapin](https://github.com/alesapin))
* Не учитывать использование памяти движком Buffer в ограничении max\_memory\_usage [#7552](https://github.com/ClickHouse/ClickHouse/pull/7552) ([Azat Khuzhin](https://github.com/azat))
* Исправлено использование финальной метки в таблицах `MergeTree`, упорядоченных по `tuple()`. В редких случаях это могло приводить к ошибке `Can't adjust last granule` при выполнении `SELECT`. [#7639](https://github.com/ClickHouse/ClickHouse/pull/7639) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена ошибка в мутациях, где в предикате используются действия, требующие Context (например, функции для JSON), которая могла приводить к сбоям или странным исключениям. [#7664](https://github.com/ClickHouse/ClickHouse/pull/7664) ([alesapin](https://github.com/alesapin))
* Исправлено несоответствие в экранировании имён баз данных и таблиц в каталогах `data/` и `shadow/` [#7575](https://github.com/ClickHouse/ClickHouse/pull/7575) ([Alexander Burmak](https://github.com/Alex-Burmak))
* Добавлена поддержка дублирующихся ключей в RIGHT|FULL JOIN, например `ON t.x = u.x AND t.x = u.y`. Исправлено падение в этом случае. [#7586](https://github.com/ClickHouse/ClickHouse/pull/7586) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена ошибка `Not found column <expression> in block` при JOIN по выражению с RIGHT или FULL JOIN. [#7641](https://github.com/ClickHouse/ClickHouse/pull/7641) ([Artem Zuikov](https://github.com/4ertus2))
* Ещё одна попытка исправить бесконечный цикл в формате `PrettySpace` [#7591](https://github.com/ClickHouse/ClickHouse/pull/7591) ([Olga Khvostikova](https://github.com/stavrolia))
* Исправлена ошибка в функции `concat`, которая возникала, когда все аргументы имели тип `FixedString` и одинаковый размер. [#7635](https://github.com/ClickHouse/ClickHouse/pull/7635) ([alesapin](https://github.com/alesapin))
* Исправлено исключение, возникавшее при использовании 1 аргумента при задании хранилищ S3, URL и HDFS. [#7618](https://github.com/ClickHouse/ClickHouse/pull/7618) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена область видимости InterpreterSelectQuery для представлений, содержащих запрос [#7601](https://github.com/ClickHouse/ClickHouse/pull/7601) ([Azat Khuzhin](https://github.com/azat))

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

* Столбцы `Nullable` распознаются, а значения NULL корректно обрабатываются через мост ODBC [#7402](https://github.com/ClickHouse/ClickHouse/pull/7402) ([Vasily Nemkov](https://github.com/Enmk))
* Текущий батч для распределённой отправки теперь записывается атомарно [#7600](https://github.com/ClickHouse/ClickHouse/pull/7600) ([Azat Khuzhin](https://github.com/azat))
* Если не удаётся определить таблицу по имени столбца в запросе, генерируется исключение. [#7358](https://github.com/ClickHouse/ClickHouse/pull/7358) ([Artem Zuikov](https://github.com/4ertus2))
* В `MergeTreeSettings` добавлена настройка `merge_max_block_size` [#7412](https://github.com/ClickHouse/ClickHouse/pull/7412) ([Artem Zuikov](https://github.com/4ertus2))
* Запросы с `HAVING` и без `GROUP BY` предполагают группировку по константе. Поэтому `SELECT 1 HAVING 1` теперь возвращает результат. [#7496](https://github.com/ClickHouse/ClickHouse/pull/7496) ([Amos Bird](https://github.com/amosbird))
* Добавлена поддержка разбора `(X,)` как кортежа, аналогично Python. [#7501](https://github.com/ClickHouse/ClickHouse/pull/7501), [#7562](https://github.com/ClickHouse/ClickHouse/pull/7562) ([Amos Bird](https://github.com/amosbird))
* Поведение функции `range` сделано почти таким же, как в Python. [#7518](https://github.com/ClickHouse/ClickHouse/pull/7518) ([sundyli](https://github.com/sundy-li))
* В таблицу `system.settings` добавлены столбцы `constraints` [#7553](https://github.com/ClickHouse/ClickHouse/pull/7553) ([Vitaly Baranov](https://github.com/vitlibar))
* Улучшен формат Null для обработчика TCP, поэтому теперь можно использовать `select ignore(<expression>) from table format Null` для измерения производительности через clickhouse-client [#7606](https://github.com/ClickHouse/ClickHouse/pull/7606) ([Amos Bird](https://github.com/amosbird))
* Запросы вида `CREATE TABLE ... AS (SELECT (1, 2))` теперь разбираются корректно [#7542](https://github.com/ClickHouse/ClickHouse/pull/7542) ([hcz](https://github.com/hczhcz))

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

* Повышена производительность агрегации по коротким строковым ключам. [#6243](https://github.com/ClickHouse/ClickHouse/pull/6243) ([Alexander Kuzmenkov](https://github.com/akuzm), [Amos Bird](https://github.com/amosbird))
* Выполняется дополнительный проход анализа синтаксиса/выражений для получения возможных оптимизаций после свёртки константных предикатов. [#7497](https://github.com/ClickHouse/ClickHouse/pull/7497) ([Amos Bird](https://github.com/amosbird))
* Для вычисления тривиального `SELECT count() FROM table;` используется метаинформация хранилища. [#7510](https://github.com/ClickHouse/ClickHouse/pull/7510) ([Amos Bird](https://github.com/amosbird), [alexey-milovidov](https://github.com/alexey-milovidov))
* Обработка `arrayReduce` векторизована аналогично `addBatch` в Aggregator. [#7608](https://github.com/ClickHouse/ClickHouse/pull/7608) ([Amos Bird](https://github.com/amosbird))
* Небольшое повышение производительности при чтении из `Kafka` [#7475](https://github.com/ClickHouse/ClickHouse/pull/7475) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Добавлена поддержка кросс-компиляции для архитектуры процессора AARCH64. Переработан скрипт упаковщика. [#7370](https://github.com/ClickHouse/ClickHouse/pull/7370) [#7539](https://github.com/ClickHouse/ClickHouse/pull/7539) ([Ivan](https://github.com/abyss7))
* Toolchain darwin-x86\_64 и linux-aarch64 теперь распаковываются в смонтированный Docker-том при сборке пакетов [#7534](https://github.com/ClickHouse/ClickHouse/pull/7534) ([Ivan](https://github.com/abyss7))
* Обновлён Docker-образ для упаковщика бинарных файлов [#7474](https://github.com/ClickHouse/ClickHouse/pull/7474) ([Ivan](https://github.com/abyss7))
* Исправлены ошибки компиляции на macOS Catalina [#7585](https://github.com/ClickHouse/ClickHouse/pull/7585) ([Ernest Poletaev](https://github.com/ernestp))
* Небольшой рефакторинг логики анализа запросов: сложный класс разделён на несколько простых. [#7454](https://github.com/ClickHouse/ClickHouse/pull/7454) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена сборка без подмодулей [#7295](https://github.com/ClickHouse/ClickHouse/pull/7295) ([proller](https://github.com/proller))
* Улучшен `add_globs` в файлах CMake [#7418](https://github.com/ClickHouse/ClickHouse/pull/7418) ([Amos Bird](https://github.com/amosbird))
* Удалены жёстко заданные пути в цели `unwind` [#7460](https://github.com/ClickHouse/ClickHouse/pull/7460) ([Konstantin Podshumok](https://github.com/podshumok))
* Разрешено использовать формат MySQL без SSL [#7524](https://github.com/ClickHouse/ClickHouse/pull/7524) ([proller](https://github.com/proller))

<div id="other">
  #### Прочее
</div>

* Добавлена грамматика ANTLR4 для диалекта ClickHouse SQL [#7595](https://github.com/ClickHouse/ClickHouse/issues/7595) [#7596](https://github.com/ClickHouse/ClickHouse/pull/7596) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-v19-16">
  ## Релиз ClickHouse 19.16
</div>

<div id="clickhouse-release-v19-16-14-65-2020-03-25">
  #### Релиз ClickHouse 19.16.14.65, 2020-03-25
</div>

* Исправлена ошибка при пакетных вычислениях тернарных логических операций с несколькими аргументами (более 10). [#8718](https://github.com/ClickHouse/ClickHouse/pull/8718) ([Alexander Kazakov](https://github.com/Akazz)) Это исправление было бэкпортировано в версию 19.16 по специальному запросу Altinity.

<div id="clickhouse-release-v19-16-14-65-2020-03-05">
  #### Релиз ClickHouse 19.16.14.65, 2020-03-05
</div>

* Исправлена несовместимость распределённых подзапросов со старыми версиями ClickHouse. Исправляет [#7851](https://github.com/ClickHouse/ClickHouse/issues/7851)
  [(tabplubix)](https://github.com/tavplubix)
* При выполнении запроса `CREATE` сворачиваются константные выражения в аргументах движка хранения. Пустое имя базы данных заменяется на текущую базу данных. Также исправлена проверка локального адреса в `ClickHouseDictionarySource`. Исправляет [#6508](https://github.com/ClickHouse/ClickHouse/issues/6508), [#3492](https://github.com/ClickHouse/ClickHouse/issues/3492).
  [#9262](https://github.com/ClickHouse/ClickHouse/pull/9262) [(tabplubix)](https://github.com/tavplubix)
* Теперь фоновые слияния в таблицах семейства `*MergeTree` точнее сохраняют порядок томов в политике хранения.
  [#8549](https://github.com/ClickHouse/ClickHouse/pull/8549) ([Vladimir Chebotarev](https://github.com/excitoon))
* Предотвращена потеря данных в `Kafka` в редких случаях, когда после чтения суффикса, но до коммита, возникает исключение. Исправляет [#9378](https://github.com/ClickHouse/ClickHouse/issues/9378). Связано: [#7175](https://github.com/ClickHouse/ClickHouse/issues/7175)
  [#9507](https://github.com/ClickHouse/ClickHouse/pull/9507) [(filimonov)](https://github.com/filimonov)
* Исправлена ошибка, приводившая к завершению работы сервера при попытке использовать / удалить таблицу `Kafka`, созданную с неверными параметрами. Исправляет [#9494](https://github.com/ClickHouse/ClickHouse/issues/9494). Включает [#9507](https://github.com/ClickHouse/ClickHouse/issues/9507).
  [#9513](https://github.com/ClickHouse/ClickHouse/pull/9513) [(filimonov)](https://github.com/filimonov)
* Разрешено использовать `MaterializedView` с подзапросами над таблицами `Kafka`.
  [#8197](https://github.com/ClickHouse/ClickHouse/pull/8197) ([filimonov](https://github.com/filimonov))

<div id="new-feature">
  #### Новая возможность
</div>

* Добавлена опция `deduplicate_blocks_in_dependent_materialized_views` для управления поведением идемпотентных вставок в таблицы с materialized view. Эта возможность была добавлена в релиз с исправлениями ошибок по специальному запросу Altinity.
  [#9070](https://github.com/ClickHouse/ClickHouse/pull/9070) [(urykhy)](https://github.com/urykhy)

<div id="clickhouse-release-v19-16-2-2-2019-10-30">
  ### Релиз ClickHouse 19.16.2.2, 2019-10-30
</div>

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* Добавлена ранее отсутствовавшая проверка арности для count/counIf.
  [#7095](https://github.com/ClickHouse/ClickHouse/issues/7095)
  [#7298](https://github.com/ClickHouse/ClickHouse/pull/7298) ([Vdimir](https://github.com/Vdimir))
* Удалён устаревший параметр `asterisk_left_columns_only` (по умолчанию он был отключён).
  [#7335](https://github.com/ClickHouse/ClickHouse/pull/7335) ([Artem
  Zuikov](https://github.com/4ertus2))
* Строки формата для формата данных Template теперь задаются в файлах.
  [#7118](https://github.com/ClickHouse/ClickHouse/pull/7118)
  ([tavplubix](https://github.com/tavplubix))

<div id="new-feature">
  #### Новая возможность
</div>

* Представлена `uniqCombined64()` для вычисления мощности, превышающей UINT\_MAX.
  [#7213](https://github.com/ClickHouse/ClickHouse/pull/7213),
  [#7222](https://github.com/ClickHouse/ClickHouse/pull/7222) ([Azat
  Khuzhin](https://github.com/azat))
* Добавлена поддержка индексов Bloom filter для столбцов типа Array.
  [#6984](https://github.com/ClickHouse/ClickHouse/pull/6984)
  ([achimbab](https://github.com/achimbab))
* Добавлена функция `getMacro(name)`, которая возвращает String со значением соответствующего `<macros>`
  из конфигурации сервера. [#7240](https://github.com/ClickHouse/ClickHouse/pull/7240)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены две опции конфигурации для словаря с HTTP-источником: `credentials` и
  `http-headers`. [#7092](https://github.com/ClickHouse/ClickHouse/pull/7092) ([Guillaume
  Tassery](https://github.com/YiuRULE))
* Добавлено новое ProfileEvent `Merge`, которое подсчитывает количество запущенных фоновых слияний.
  [#7093](https://github.com/ClickHouse/ClickHouse/pull/7093) ([Mikhail
  Korotov](https://github.com/millb))
* Добавлена функция fullHostName, которая возвращает полностью определённое доменное имя.
  [#7263](https://github.com/ClickHouse/ClickHouse/issues/7263)
  [#7291](https://github.com/ClickHouse/ClickHouse/pull/7291) ([sundyli](https://github.com/sundy-li))
* Добавлены функции `arraySplit` и `arrayReverseSplit`, которые разбивают массив по условиям
  "отсечения". Они полезны при обработке временных последовательностей.
  [#7294](https://github.com/ClickHouse/ClickHouse/pull/7294) ([hcz](https://github.com/hczhcz))
* Добавлены новые функции, которые возвращают Array всех совпадающих индексов в семействе функций multiMatch.
  [#7299](https://github.com/ClickHouse/ClickHouse/pull/7299) ([Danila
  Kutenin](https://github.com/danlark1))
* Добавлен новый движок базы данных `Lazy`, оптимизированный для хранения большого числа небольших
  таблиц типа -Log. [#7171](https://github.com/ClickHouse/ClickHouse/pull/7171) ([Nikita
  Vasilev](https://github.com/nikvas0))
* Добавлены агрегатные функции groupBitmapAnd, -Or, -Xor для столбцов битмапа. [#7109](https://github.com/ClickHouse/ClickHouse/pull/7109) ([Zhichang
  Yu](https://github.com/yuzhichang))
* Добавлены комбинаторы агрегатных функций -OrNull и -OrDefault, которые возвращают null
  или значения по умолчанию, когда агрегировать нечего.
  [#7331](https://github.com/ClickHouse/ClickHouse/pull/7331)
  ([hcz](https://github.com/hczhcz))
* Представлен формат данных CustomSeparated, который поддерживает пользовательские правила экранирования и
  использования разделителей. [#7118](https://github.com/ClickHouse/ClickHouse/pull/7118)
  ([tavplubix](https://github.com/tavplubix))
* Добавлена поддержка Redis в качестве источника внешнего словаря. [#4361](https://github.com/ClickHouse/ClickHouse/pull/4361) [#6962](https://github.com/ClickHouse/ClickHouse/pull/6962) ([comunodi](https://github.com/comunodi), [Anton
  Popov](https://github.com/CurtizJ))

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

* Исправлен неверный результат запроса, если в нём есть секция `WHERE IN (SELECT ...)` и используется
  `optimize_read_in_order`. [#7371](https://github.com/ClickHouse/ClickHouse/pull/7371) ([Anton
  Popov](https://github.com/CurtizJ))
* Отключён плагин аутентификации MariaDB, который зависит от файлов вне проекта.
  [#7140](https://github.com/ClickHouse/ClickHouse/pull/7140) ([Yuriy
  Baranov](https://github.com/yurriy))
* Исправлено исключение `Cannot convert column ... because it is constant but values of constants are different in source and result`, которое в редких случаях могло возникать при использовании функций `now()`, `today()`,
  `yesterday()`, `randConstant()`.
  [#7156](https://github.com/ClickHouse/ClickHouse/pull/7156) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
* Исправлено использование тайм-аута HTTP keep-alive вместо тайм-аута TCP keep-alive.
  [#7351](https://github.com/ClickHouse/ClickHouse/pull/7351) ([Vasily
  Nemkov](https://github.com/Enmk))
* Исправлена ошибка сегментации в `groupBitmapOr` (проблема [#7109](https://github.com/ClickHouse/ClickHouse/issues/7109)).
  [#7289](https://github.com/ClickHouse/ClickHouse/pull/7289) ([Zhichang
  Yu](https://github.com/yuzhichang))
* Для materialized view операция commit для Kafka вызывается после записи всех данных.
  [#7175](https://github.com/ClickHouse/ClickHouse/pull/7175) ([Ivan](https://github.com/abyss7))
* Исправлено неверное значение `duration_ms` в таблице `system.part_log`. Оно отличалось в десять раз.
  [#7172](https://github.com/ClickHouse/ClickHouse/pull/7172) ([Vladimir
  Chebotarev](https://github.com/excitoon))
* Быстро исправлен сбой в таблице LIVE VIEW и вновь включены все тесты LIVE VIEW.
  [#7201](https://github.com/ClickHouse/ClickHouse/pull/7201)
  ([vzakaznikov](https://github.com/vzakaznikov))
* Исправлена корректная сериализация значений NULL в min/max-индексах частей MergeTree.
  [#7234](https://github.com/ClickHouse/ClickHouse/pull/7234) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Не добавлять виртуальные столбцы в метаданные `.sql`, когда таблица создаётся как `CREATE TABLE AS`.
  [#7183](https://github.com/ClickHouse/ClickHouse/pull/7183) ([Ivan](https://github.com/abyss7))
* Исправлена ошибка сегментации в запросе `ATTACH PART`.
  [#7185](https://github.com/ClickHouse/ClickHouse/pull/7185)
  ([alesapin](https://github.com/alesapin))
* Исправлен неверный результат для некоторых запросов, вызванный оптимизацией пустых подзапросов IN и пустых
  INNER/RIGHT JOIN. [#7284](https://github.com/ClickHouse/ClickHouse/pull/7284) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
* Исправлена ошибка AddressSanitizer в методе `getHeader()` для LIVE VIEW.
  [#7271](https://github.com/ClickHouse/ClickHouse/pull/7271)
  ([vzakaznikov](https://github.com/vzakaznikov))

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

* Добавлено сообщение на случай ожидания по queue\_wait\_max\_ms.
  [#7390](https://github.com/ClickHouse/ClickHouse/pull/7390) ([Azat
  Khuzhin](https://github.com/azat))
* Настройка `s3_min_upload_part_size` переведена на уровень таблицы.
  [#7059](https://github.com/ClickHouse/ClickHouse/pull/7059) ([Vladimir
  Chebotarev](https://github.com/excitoon))
* Проверка TTL в StorageFactory. [#7304](https://github.com/ClickHouse/ClickHouse/pull/7304)
  ([sundyli](https://github.com/sundy-li))
* Объединение левых блоков в частичном соединении слиянием (оптимизация).
  [#7122](https://github.com/ClickHouse/ClickHouse/pull/7122) ([Artem
  Zuikov](https://github.com/4ertus2))
* Недетерминированные функции больше не разрешены в мутациях движков таблиц Replicated, поскольку
  это может приводить к несогласованности между репликами.
  [#7247](https://github.com/ClickHouse/ClickHouse/pull/7247) ([Alexander
  Kazakov](https://github.com/Akazz))
* Отключён трекер памяти при преобразовании трассировки стека исключения в строку. Это позволяет
  избежать потери сообщений об ошибке типа `Memory limit exceeded` на сервере, из-за которой на
  клиенте возникало исключение `Attempt to read after eof`. [#7264](https://github.com/ClickHouse/ClickHouse/pull/7264)
  ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Различные улучшения форматов. Исправляет
  [#6033](https://github.com/ClickHouse/ClickHouse/issues/6033),
  [#2633](https://github.com/ClickHouse/ClickHouse/issues/2633),
  [#6611](https://github.com/ClickHouse/ClickHouse/issues/6611),
  [#6742](https://github.com/ClickHouse/ClickHouse/issues/6742)
  [#7215](https://github.com/ClickHouse/ClickHouse/pull/7215)
  ([tavplubix](https://github.com/tavplubix))
* ClickHouse игнорирует значения в правой части оператора IN, которые нельзя преобразовать к типу
  левой части. Исправлена работа для составных типов — Array и Tuple.
  [#7283](https://github.com/ClickHouse/ClickHouse/pull/7283) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Добавлена поддержка отсутствующих неравенств для ASOF JOIN. В синтаксисе ON для столбца ASOF
  можно использовать вариант less-or-equal, а также строгие варианты greater и less.
  [#7282](https://github.com/ClickHouse/ClickHouse/pull/7282) ([Artem
  Zuikov](https://github.com/4ertus2))
* Оптимизация частичного соединения слиянием. [#7070](https://github.com/ClickHouse/ClickHouse/pull/7070)
  ([Artem Zuikov](https://github.com/4ertus2))
* В функциях uniqCombined теперь используется не более 98K памяти.
  [#7236](https://github.com/ClickHouse/ClickHouse/pull/7236),
  [#7270](https://github.com/ClickHouse/ClickHouse/pull/7270) ([Azat
  Khuzhin](https://github.com/azat))
* Части правой соединяемой таблицы выгружаются на диск в PartialMergeJoin (если памяти
  недостаточно). При необходимости данные загружаются обратно. [#7186](https://github.com/ClickHouse/ClickHouse/pull/7186)
  ([Artem Zuikov](https://github.com/4ertus2))

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

* Ускорена работа `joinGet` с константными аргументами за счёт устранения дублирования данных.
  [#7359](https://github.com/ClickHouse/ClickHouse/pull/7359) ([Amos
  Bird](https://github.com/amosbird))
* Добавлен ранний возврат, если подзапрос пуст.
  [#7007](https://github.com/ClickHouse/ClickHouse/pull/7007) ([小路](https://github.com/nicelulu))
* Оптимизирован разбор SQL-выражения в `Values`.
  [#6781](https://github.com/ClickHouse/ClickHouse/pull/6781)
  ([tavplubix](https://github.com/tavplubix))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Отключены некоторые компоненты contrib для кросс-компиляции под Mac OS.
  [#7101](https://github.com/ClickHouse/ClickHouse/pull/7101) ([Ivan](https://github.com/abyss7))
* Добавлена недостающая линковка с PocoXML для clickhouse\_common\_io.
  [#7200](https://github.com/ClickHouse/ClickHouse/pull/7200) ([Azat
  Khuzhin](https://github.com/azat))
* В clickhouse-test добавлена поддержка нескольких аргументов фильтра тестов.
  [#7226](https://github.com/ClickHouse/ClickHouse/pull/7226) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Включены musl и jemalloc для ARM. [#7300](https://github.com/ClickHouse/ClickHouse/pull/7300)
  ([Amos Bird](https://github.com/amosbird))
* В `clickhouse-test` добавлен параметр `--client-option`, позволяющий передавать клиенту дополнительные параметры.
  [#7277](https://github.com/ClickHouse/ClickHouse/pull/7277) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
* При обновлении rpm-пакета теперь сохраняются существующие конфигурационные файлы.
  [#7103](https://github.com/ClickHouse/ClickHouse/pull/7103)
  ([filimonov](https://github.com/filimonov))
* Исправлены ошибки, выявленные PVS. [#7153](https://github.com/ClickHouse/ClickHouse/pull/7153) ([Artem
  Zuikov](https://github.com/4ertus2))
* Исправлена сборка под Darwin. [#7149](https://github.com/ClickHouse/ClickHouse/pull/7149)
  ([Ivan](https://github.com/abyss7))
* Обеспечена совместимость с glibc 2.29. [#7142](https://github.com/ClickHouse/ClickHouse/pull/7142) ([Amos
  Bird](https://github.com/amosbird))
* Убедитесь, что dh\_clean не изменяет потенциальные исходные файлы.
  [#7205](https://github.com/ClickHouse/ClickHouse/pull/7205) ([Amos
  Bird](https://github.com/amosbird))
* Попытка избежать конфликта при обновлении из altinity rpm — в нём файл конфигурации упакован отдельно
  в clickhouse-server-common. [#7073](https://github.com/ClickHouse/ClickHouse/pull/7073)
  ([filimonov](https://github.com/filimonov))
* Оптимизированы некоторые заголовочные файлы для ускорения пересборки.
  [#7212](https://github.com/ClickHouse/ClickHouse/pull/7212),
  [#7231](https://github.com/ClickHouse/ClickHouse/pull/7231) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Добавлены тесты производительности для типов Date и DateTime. [#7332](https://github.com/ClickHouse/ClickHouse/pull/7332) ([Vasily
  Nemkov](https://github.com/Enmk))
* Исправлены некоторые тесты с недетерминированными мутациями.
  [#7132](https://github.com/ClickHouse/ClickHouse/pull/7132) ([Alexander
  Kazakov](https://github.com/Akazz))
* В CI добавлена сборка с MemorySanitizer. [#7066](https://github.com/ClickHouse/ClickHouse/pull/7066)
  ([Alexander Kuzmenkov](https://github.com/akuzm))
* Предотвращено использование неинициализированных значений в MetricsTransmitter.
  [#7158](https://github.com/ClickHouse/ClickHouse/pull/7158) ([Azat
  Khuzhin](https://github.com/azat))
* Исправлены некоторые проблемы с полями, выявленные MemorySanitizer.
  [#7135](https://github.com/ClickHouse/ClickHouse/pull/7135),
  [#7179](https://github.com/ClickHouse/ClickHouse/pull/7179) ([Alexander
  Kuzmenkov](https://github.com/akuzm)), [#7376](https://github.com/ClickHouse/ClickHouse/pull/7376)
  ([Amos Bird](https://github.com/amosbird))
* Исправлено неопределённое поведение функции murmurhash32. [#7388](https://github.com/ClickHouse/ClickHouse/pull/7388) ([Amos
  Bird](https://github.com/amosbird))
* Устранено неопределённое поведение в StoragesInfoStream. [#7384](https://github.com/ClickHouse/ClickHouse/pull/7384)
  ([tavplubix](https://github.com/tavplubix))
* Исправлено сворачивание константных выражений для движков внешних баз данных (MySQL, ODBC, JDBC). В предыдущих
  версиях это не работало для нескольких константных выражений и вообще не работало для Date,
  DateTime и UUID. Это исправление устраняет проблему [#7245](https://github.com/ClickHouse/ClickHouse/issues/7245)
  [#7252](https://github.com/ClickHouse/ClickHouse/pull/7252)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка гонки данных, обнаруженная ThreadSanitizer, в LIVE VIEW при обращении к переменной no\_users\_thread.
  [#7353](https://github.com/ClickHouse/ClickHouse/pull/7353)
  ([vzakaznikov](https://github.com/vzakaznikov))
* Удалены символы malloc из libcommon
  [#7134](https://github.com/ClickHouse/ClickHouse/pull/7134),
  [#7065](https://github.com/ClickHouse/ClickHouse/pull/7065) ([Amos
  Bird](https://github.com/amosbird))
* Добавлен глобальный флаг ENABLE\_LIBRARIES, отключающий все библиотеки.
  [#7063](https://github.com/ClickHouse/ClickHouse/pull/7063)
  ([proller](https://github.com/proller))

<div id="code-cleanup">
  #### Приведение кода в порядок
</div>

* Обобщён репозиторий конфигурации в рамках подготовки к DDL для словарей. [#7155](https://github.com/ClickHouse/ClickHouse/pull/7155)
  ([alesapin](https://github.com/alesapin))
* Парсер для DDL словарей без какой-либо семантики.
  [#7209](https://github.com/ClickHouse/ClickHouse/pull/7209)
  ([alesapin](https://github.com/alesapin))
* ParserCreateQuery разделён на несколько более мелких парсеров.
  [#7253](https://github.com/ClickHouse/ClickHouse/pull/7253)
  ([alesapin](https://github.com/alesapin))
* Небольшой рефакторинг и переименование, связанные с внешними словарями.
  [#7111](https://github.com/ClickHouse/ClickHouse/pull/7111)
  ([alesapin](https://github.com/alesapin))
* Часть кода переработана в рамках подготовки к ролевому управлению доступом. [#7235](https://github.com/ClickHouse/ClickHouse/pull/7235) ([Vitaly
  Baranov](https://github.com/vitlibar))
* Несколько улучшений в коде DatabaseOrdinary.
  [#7086](https://github.com/ClickHouse/ClickHouse/pull/7086) ([Nikita
  Vasilev](https://github.com/nikvas0))
* В методах find() и emplace() хеш-таблиц больше не используются итераторы.
  [#7026](https://github.com/ClickHouse/ClickHouse/pull/7026) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Исправлен getMultipleValuesFromConfig для случая, когда корень параметра не пуст. [#7374](https://github.com/ClickHouse/ClickHouse/pull/7374)
  ([Mikhail Korotov](https://github.com/millb))
* Удалено некоторое дублирование кода (TemporaryFile и TemporaryFileStream)
  [#7166](https://github.com/ClickHouse/ClickHouse/pull/7166) ([Artem
  Zuikov](https://github.com/4ertus2))
* Немного улучшена читаемость кода (`MergeTreeData::getActiveContainingPart`).
  [#7361](https://github.com/ClickHouse/ClickHouse/pull/7361) ([Vladimir
  Chebotarev](https://github.com/excitoon))
* Добавлено ожидание завершения всех запланированных задач, использующих локальные объекты, если `ThreadPool::schedule(...)` генерирует
  исключение. `ThreadPool::schedule(...)` переименован в `ThreadPool::scheduleOrThrowOnError(...)`, а
  комментарии исправлены так, чтобы было очевидно, что он может генерировать исключение.
  [#7350](https://github.com/ClickHouse/ClickHouse/pull/7350)
  ([tavplubix](https://github.com/tavplubix))

<div id="clickhouse-release-19-15">
  ## Релиз ClickHouse 19.15
</div>

<div id="clickhouse-release-19-15-4-10-2019-10-31">
  ### Релиз ClickHouse 19.15.4.10, 2019-10-31
</div>

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

* Добавлена обработка SQL\_TINYINT и SQL\_BIGINT, а также исправлена обработка типа данных SQL\_FLOAT в мосте ODBC.
  [#7491](https://github.com/ClickHouse/ClickHouse/pull/7491) ([Denis Glazachev](https://github.com/traceon))
* В MOVE PARTITION разрешено размещать некоторые части на целевом диске или томе.
  [#7434](https://github.com/ClickHouse/ClickHouse/pull/7434) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена обработка значений NULL в столбцах с типом Nullable через мост ODBC.
  [#7402](https://github.com/ClickHouse/ClickHouse/pull/7402) ([Vasily Nemkov](https://github.com/Enmk))
* Исправлен INSERT в Distributed на удалённый узел с MATERIALIZED столбцами.
  [#7377](https://github.com/ClickHouse/ClickHouse/pull/7377) ([Azat Khuzhin](https://github.com/azat))
* Исправлена функция getMultipleValuesFromConfig.
  [#7374](https://github.com/ClickHouse/ClickHouse/pull/7374) ([Mikhail Korotov](https://github.com/millb))
* Исправлена проблема, из-за которой использовался тайм-аут HTTP keep alive вместо тайм-аута TCP keep alive.
  [#7351](https://github.com/ClickHouse/ClickHouse/pull/7351) ([Vasily Nemkov](https://github.com/Enmk))
* Добавлено ожидание завершения всех задач при исключении (исправляет редкие segfault).
  [#7350](https://github.com/ClickHouse/ClickHouse/pull/7350) ([tavplubix](https://github.com/tavplubix))
* Отключён push в MV при вставке в таблицу Kafka.
  [#7265](https://github.com/ClickHouse/ClickHouse/pull/7265) ([Ivan](https://github.com/abyss7))
* Отключен трекер памяти для стека исключений.
  [#7264](https://github.com/ClickHouse/ClickHouse/pull/7264) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен некорректный код преобразования запроса для внешней базы данных.
  [#7252](https://github.com/ClickHouse/ClickHouse/pull/7252) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исключено использование неинициализированных значений в MetricsTransmitter.
  [#7158](https://github.com/ClickHouse/ClickHouse/pull/7158) ([Azat Khuzhin](https://github.com/azat))
* Добавлен пример конфигурации с макросами для тестов ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-15-3-6-2019-10-09">
  ### Релиз ClickHouse 19.15.3.6, 2019-10-09
</div>

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

* Исправлен bad\_variant в хешированном словаре.
  ([alesapin](https://github.com/alesapin))
* Исправлена ошибка, вызывавшая segmentation fault в запросе ATTACH PART.
  ([alesapin](https://github.com/alesapin))
* Исправлен расчёт времени в `MergeTreeData`.
  ([Vladimir Chebotarev](https://github.com/excitoon))
* После завершения записи commit в Kafka теперь выполняется явно.
  [#7175](https://github.com/ClickHouse/ClickHouse/pull/7175) ([Ivan](https://github.com/abyss7))
* Значения NULL теперь корректно сериализуются в индексах min/max частей MergeTree.
  [#7234](https://github.com/ClickHouse/ClickHouse/pull/7234) ([Alexander Kuzmenkov](https://github.com/akuzm))

<div id="clickhouse-release-19-15-2-2-2019-10-01">
  ### Релиз ClickHouse 19.15.2.2, 2019-10-01
</div>

<div id="new-feature">
  #### Новая возможность
</div>

* Многоуровневое хранение: добавлена поддержка использования нескольких томов хранилища для таблиц с движком MergeTree. Свежие данные можно хранить на SSD, а старые автоматически перемещать на HDD. ([пример](https://clickhouse.github.io/clickhouse-presentations/meetup30/new_features/#12)). [#4918](https://github.com/ClickHouse/ClickHouse/pull/4918) ([Igr](https://github.com/ObjatieGroba)) [#6489](https://github.com/ClickHouse/ClickHouse/pull/6489) ([alesapin](https://github.com/alesapin))
* Добавлена табличная функция `input` для чтения входящих данных в запросе `INSERT SELECT`. [#5450](https://github.com/ClickHouse/ClickHouse/pull/5450) ([palasonic1](https://github.com/palasonic1)) [#6832](https://github.com/ClickHouse/ClickHouse/pull/6832) ([Anton Popov](https://github.com/CurtizJ))
* Добавлена структура словаря `sparse_hashed`, функционально эквивалентная структуре `hashed`, но более эффективно использующая память. Она использует примерно вдвое меньше памяти ценой более медленного получения значений. [#6894](https://github.com/ClickHouse/ClickHouse/pull/6894) ([Azat Khuzhin](https://github.com/azat))
* Реализована возможность задавать список пользователей для доступа к словарям. Используется только для текущей подключённой базы данных. [#6907](https://github.com/ClickHouse/ClickHouse/pull/6907) ([Guillaume Tassery](https://github.com/YiuRULE))
* В запрос `SHOW` добавлена опция `LIMIT`. [#6944](https://github.com/ClickHouse/ClickHouse/pull/6944) ([Philipp Malkovsky](https://github.com/malkfilipp))
* Добавлена функция `bitmapSubsetLimit(bitmap, range_start, limit)`, которая возвращает подмножество из наименьших `limit` значений в наборе, не меньших `range_start`. [#6957](https://github.com/ClickHouse/ClickHouse/pull/6957) ([Zhichang Yu](https://github.com/yuzhichang))
* Добавлены функции `bitmapMin` и `bitmapMax`. [#6970](https://github.com/ClickHouse/ClickHouse/pull/6970) ([Zhichang Yu](https://github.com/yuzhichang))
* Добавлена функция `repeat`, связанная с [issue-6648](https://github.com/ClickHouse/ClickHouse/issues/6648) [#6999](https://github.com/ClickHouse/ClickHouse/pull/6999) ([flynn](https://github.com/ucasFL))

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

* Реализован вариант Merge JOIN (в памяти), который не изменяет текущий конвейер. Результат частично отсортирован по ключу слияния. Чтобы использовать эту возможность, установите `partial_merge_join = 1`. Merge JOIN всё ещё находится в разработке. [#6940](https://github.com/ClickHouse/ClickHouse/pull/6940) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлены движок `S3` и табличная функция. Они всё ещё находятся в разработке (поддержка authentication пока отсутствует). [#5596](https://github.com/ClickHouse/ClickHouse/pull/5596) ([Vladimir Chebotarev](https://github.com/excitoon))

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

* Каждое сообщение, прочитанное из Kafka, вставляется атомарно. Это решает почти все известные проблемы с движком Kafka. [#6950](https://github.com/ClickHouse/ClickHouse/pull/6950) ([Ivan](https://github.com/abyss7))
* Улучшен failover для распределенных запросов. Сокращено время восстановления; кроме того, этот параметр теперь можно настраивать и видеть в `system.clusters`. [#6399](https://github.com/ClickHouse/ClickHouse/pull/6399) ([Vasily Nemkov](https://github.com/Enmk))
* Добавлена поддержка числовых значений для Enum напрямую в операторе `IN`. #6766 [#6941](https://github.com/ClickHouse/ClickHouse/pull/6941) ([dimarub2000](https://github.com/dimarub2000))
* Добавлена поддержка перенаправлений в URL-хранилище (необязательно, по умолчанию отключено). [#6914](https://github.com/ClickHouse/ClickHouse/pull/6914) ([maqroll](https://github.com/maqroll))
* Добавлено информационное сообщение при подключении к серверу клиента более старой версии. [#6893](https://github.com/ClickHouse/ClickHouse/pull/6893) ([Philipp Malkovsky](https://github.com/malkfilipp))
* Удалено ограничение на максимальное время ожидания задержки при отправке данных в Distributed-таблицах [#6895](https://github.com/ClickHouse/ClickHouse/pull/6895) ([Azat Khuzhin](https://github.com/azat))
* Добавлена возможность отправлять profile events (счетчики) с накопительными значениями в Graphite. Это можно включить в `<events_cumulative>` в серверном `config.xml`. [#6969](https://github.com/ClickHouse/ClickHouse/pull/6969) ([Azat Khuzhin](https://github.com/azat))
* Добавлено автоматическое приведение типа `T` к `LowCardinality(T)` при вставке данных в столбец типа `LowCardinality(T)` в формате Native через HTTP. [#6891](https://github.com/ClickHouse/ClickHouse/pull/6891) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Добавлена возможность использовать функцию `hex` без `reinterpretAsString` для `Float32`, `Float64`. [#7024](https://github.com/ClickHouse/ClickHouse/pull/7024) ([Mikhail Korotov](https://github.com/millb))

<div id="buildtestingpackaging-improvement-2">
  #### улучшение сборки/тестирования/упаковки
</div>

* В бинарный файл clickhouse с отладочной информацией добавлен gdb-index. Это ускорит запуск `gdb`. [#6947](https://github.com/ClickHouse/ClickHouse/pull/6947) ([alesapin](https://github.com/alesapin))
* Ускорена сборка deb-пакетов с помощью пропатченного dpkg-deb, который использует `pigz`. [#6960](https://github.com/ClickHouse/ClickHouse/pull/6960) ([alesapin](https://github.com/alesapin))
* Для включения инструментирования всего кода проекта через libfuzzer установлено `enable_fuzzing = 1`. [#7042](https://github.com/ClickHouse/ClickHouse/pull/7042) ([kyprizel](https://github.com/kyprizel))
* В CI добавлен smoke-тест раздельной сборки. [#7061](https://github.com/ClickHouse/ClickHouse/pull/7061) ([alesapin](https://github.com/alesapin))
* В CI добавлена сборка с MemorySanitizer. [#7066](https://github.com/ClickHouse/ClickHouse/pull/7066) ([Alexander Kuzmenkov](https://github.com/akuzm))
* `libsparsehash` заменён на `sparsehash-c11` [#6965](https://github.com/ClickHouse/ClickHouse/pull/6965) ([Azat Khuzhin](https://github.com/azat))

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

* Исправлена деградация производительности анализа индексов для сложных ключей в больших таблицах. Это исправляет #6924. [#7075](https://github.com/ClickHouse/ClickHouse/pull/7075) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена логическая ошибка, вызывавшая segfault при чтении из пустого топика Kafka. [#6909](https://github.com/ClickHouse/ClickHouse/pull/6909) ([Ivan](https://github.com/abyss7))
* Исправлено слишком раннее закрытие соединения MySQL в `MySQLBlockInputStream.cpp`. [#6882](https://github.com/ClickHouse/ClickHouse/pull/6882) ([Clément Rodriguez](https://github.com/clemrodriguez))
* Возвращена поддержка очень старых ядер Linux (исправление [#6841](https://github.com/ClickHouse/ClickHouse/issues/6841)) [#6853](https://github.com/ClickHouse/ClickHouse/pull/6853) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена возможная потеря данных в запросе `insert select` в случае пустого блока во входном потоке. #6834 #6862 [#6911](https://github.com/ClickHouse/ClickHouse/pull/6911) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлена функция `АrrayEnumerateUniqRanked` для случая пустых массивов в параметрах. [#6928](https://github.com/ClickHouse/ClickHouse/pull/6928) ([proller](https://github.com/proller))
* Исправлены сложные запросы с ARRAY JOIN и глобальными подзапросами. [#6934](https://github.com/ClickHouse/ClickHouse/pull/6934) ([Ivan](https://github.com/abyss7))
* Исправлена ошибка `Unknown identifier` в ORDER BY и GROUP BY при использовании нескольких JOIN. [#7022](https://github.com/ClickHouse/ClickHouse/pull/7022) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено предупреждение `MSan` при выполнении функции с аргументом `LowCardinality`. [#7062](https://github.com/ClickHouse/ClickHouse/pull/7062) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* Изменён формат сериализации состояний агрегатной функции bitmap\* для повышения производительности. Сериализованные состояния bitmap\* из предыдущих версий больше не читаются. [#6908](https://github.com/ClickHouse/ClickHouse/pull/6908) ([Zhichang Yu](https://github.com/yuzhichang))

<div id="clickhouse-release-19-14">
  ## Релиз ClickHouse 19.14
</div>

<div id="clickhouse-release-19-14-7-15-2019-10-02">
  ### Релиз ClickHouse 19.14.7.15, 2019-10-02
</div>

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

* Этот релиз также включает все исправления ошибок из версии 19.11.12.69.
* Исправлена совместимость распределённых запросов между версией 19.14 и более ранними версиями. Это исправление устраняет проблему [#7068](https://github.com/ClickHouse/ClickHouse/issues/7068). [#7069](https://github.com/ClickHouse/ClickHouse/pull/7069) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-14-6-12-2019-09-19">
  ### Релиз ClickHouse 19.14.6.12, 2019-09-19
</div>

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

* Исправлена работа функции `АrrayEnumerateUniqRanked` в случае пустых массивов в параметрах. [#6928](https://github.com/ClickHouse/ClickHouse/pull/6928) ([proller](https://github.com/proller))
* Исправлено имя подзапроса в запросах с `ARRAY JOIN` и `GLOBAL IN subquery` при использовании псевдонима. Если псевдоним указан, он используется как имя внешней таблицы. [#6934](https://github.com/ClickHouse/ClickHouse/pull/6934) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Исправлен [нестабильный](https://clickhouse-test-reports.s3.yandex.net/6944/aab95fd5175a513413c7395a73a82044bdafb906/functional_stateless_tests_\(debug\).html) тест `00715_fetch_merged_or_mutated_part_zookeeper`: его переписали на shell-скрипт, так как в нём нужно дождаться применения мутаций. [#6977](https://github.com/ClickHouse/ClickHouse/pull/6977) ([Alexander Kazakov](https://github.com/Akazz))
* Исправлен сбой UBSan и MemSan в функции `groupUniqArray` при пустом массиве в качестве аргумента. Он был вызван помещением пустого `PaddedPODArray` в нулевую ячейку хеш-таблицы, поскольку не вызывался конструктор значения нулевой ячейки. [#6937](https://github.com/ClickHouse/ClickHouse/pull/6937) ([Amos Bird](https://github.com/amosbird))

<div id="clickhouse-release-19-14-3-3-2019-09-10">
  ### Релиз ClickHouse 19.14.3.3, 2019-09-10
</div>

<div id="new-feature">
  #### Новая возможность
</div>

* Модификатор `WITH FILL` для `ORDER BY`. (продолжение [#5069](https://github.com/ClickHouse/ClickHouse/issues/5069)) [#6610](https://github.com/ClickHouse/ClickHouse/pull/6610) ([Anton Popov](https://github.com/CurtizJ))
* Модификатор `WITH TIES` для `LIMIT`. (продолжение [#5069](https://github.com/ClickHouse/ClickHouse/issues/5069)) [#6610](https://github.com/ClickHouse/ClickHouse/pull/6610) ([Anton Popov](https://github.com/CurtizJ))
* Разбирать литерал `NULL` без кавычек как NULL (если включена настройка `format_csv_unquoted_null_literal_as_null=1`). Инициализировать поля null значениями по умолчанию, если тип данных этого поля не Nullable (если включена настройка `input_format_null_as_default=1`). [#5990](https://github.com/ClickHouse/ClickHouse/issues/5990) [#6055](https://github.com/ClickHouse/ClickHouse/pull/6055) ([tavplubix](https://github.com/tavplubix))
* Поддержка подстановочных шаблонов в путях табличных функций `file` и `hdfs`. Если путь содержит подстановочные шаблоны, таблица будет доступна в режиме только для чтения. Пример использования: `select * from hdfs('hdfs://hdfs1:9000/some_dir/another_dir/*/file{0..9}{0..9}')` и `select * from file('some_dir/{some_file,another_file,yet_another}.tsv', 'TSV', 'value UInt32')`. [#6092](https://github.com/ClickHouse/ClickHouse/pull/6092) ([Olga Khvostikova](https://github.com/stavrolia))
* Новая таблица `system.metric_log`, которая хранит значения `system.events` и `system.metrics` через заданный интервал времени. [#6363](https://github.com/ClickHouse/ClickHouse/issues/6363) [#6467](https://github.com/ClickHouse/ClickHouse/pull/6467) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)) [#6530](https://github.com/ClickHouse/ClickHouse/pull/6530) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена возможность записывать текстовые журналы ClickHouse в таблицу `system.text_log`. [#6037](https://github.com/ClickHouse/ClickHouse/issues/6037) [#6103](https://github.com/ClickHouse/ClickHouse/pull/6103) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)) [#6164](https://github.com/ClickHouse/ClickHouse/pull/6164) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Показываются закрытые символы в трассировках стека (это делается путём разбора таблиц символов ELF-файлов). В трассировки стека добавлена информация о файле и номере строки, если доступна отладочная информация. Ускорен поиск имён символов за счёт индексации символов, присутствующих в программе. Добавлены новые SQL-функции для интроспекции: `demangle` и `addressToLine`. Функция `symbolizeAddress` переименована в `addressToSymbol` для единообразия. Функция `addressToSymbol` в целях производительности будет возвращать манглированное имя, поэтому необходимо применять `demangle`. Добавлена настройка `allow_introspection_functions`, которая по умолчанию отключена. [#6201](https://github.com/ClickHouse/ClickHouse/pull/6201) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Табличная функция `values` (имя — регистронезависимое). Позволяет читать данные из списка `VALUES`, предложенного в [#5984](https://github.com/ClickHouse/ClickHouse/issues/5984). Пример: `SELECT * FROM VALUES('a UInt64, s String', (1, 'one'), (2, 'two'), (3, 'three'))`. [#6217](https://github.com/ClickHouse/ClickHouse/issues/6217). [#6209](https://github.com/ClickHouse/ClickHouse/pull/6209) ([dimarub2000](https://github.com/dimarub2000))
* Добавлена возможность изменять параметры хранилища. Синтаксис: `ALTER TABLE <table> MODIFY SETTING <setting> = <value>`. [#6366](https://github.com/ClickHouse/ClickHouse/pull/6366) [#6669](https://github.com/ClickHouse/ClickHouse/pull/6669) [#6685](https://github.com/ClickHouse/ClickHouse/pull/6685) ([alesapin](https://github.com/alesapin))
* Добавлена поддержка удаления отсоединённых частей. Синтаксис: `ALTER TABLE <table_name> DROP DETACHED PART '<part_id>'`. [#6158](https://github.com/ClickHouse/ClickHouse/pull/6158) ([tavplubix](https://github.com/tavplubix))
* Ограничения таблиц. Позволяет добавлять ограничения в определение таблицы, которые проверяются при вставке. [#5273](https://github.com/ClickHouse/ClickHouse/pull/5273) ([Gleb Novikov](https://github.com/NanoBjorn)) [#6652](https://github.com/ClickHouse/ClickHouse/pull/6652) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Поддержка каскадных materialized views. [#6324](https://github.com/ClickHouse/ClickHouse/pull/6324) ([Amos Bird](https://github.com/amosbird))
* Профилировщик запросов теперь включён по умолчанию и раз в секунду снимает сэмплы со всех потоков выполнения запроса. [#6283](https://github.com/ClickHouse/ClickHouse/pull/6283) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Входной формат `ORC`. [#6454](https://github.com/ClickHouse/ClickHouse/pull/6454) [#6703](https://github.com/ClickHouse/ClickHouse/pull/6703) ([akonyaev90](https://github.com/akonyaev90))
* Добавлены две новые функции: `sigmoid` и `tanh` (полезные для задач машинного обучения). [#6254](https://github.com/ClickHouse/ClickHouse/pull/6254) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Функции `hasToken(haystack, token)`, `hasTokenCaseInsensitive(haystack, token)` для проверки наличия заданного токена в haystack. Токен — это подстрока максимальной длины между двумя ASCII-символами, не являющимися буквенно-цифровыми (или границами haystack). Токен должен быть константной строкой. Поддерживается специализацией индекса tokenbf\_v1. [#6596](https://github.com/ClickHouse/ClickHouse/pull/6596), [#6662](https://github.com/ClickHouse/ClickHouse/pull/6662) ([Vasily Nemkov](https://github.com/Enmk))
* Новая функция `neighbor(value, offset[, default_value])`. Позволяет получить предыдущее/следующее значение в столбце в пределах блока данных. [#5925](https://github.com/ClickHouse/ClickHouse/pull/5925) ([Alex Krash](https://github.com/alex-krash)) [6685365ab8c5b74f9650492c88a012596eb1b0c6](https://github.com/ClickHouse/ClickHouse/commit/6685365ab8c5b74f9650492c88a012596eb1b0c6) [341e2e4587a18065c2da1ca888c73389f48ce36c](https://github.com/ClickHouse/ClickHouse/commit/341e2e4587a18065c2da1ca888c73389f48ce36c) [Alexey Milovidov](https://github.com/alexey-milovidov)
* Создана функция `currentUser()`, которая возвращает логин авторизованного пользователя. Для совместимости с MySQL добавлен псевдоним `user()`. [#6470](https://github.com/ClickHouse/ClickHouse/pull/6470) ([Alex Krash](https://github.com/alex-krash))
* Новые агрегатные функции `quantilesExactInclusive` и `quantilesExactExclusive`, добавленные по предложению из [#5885](https://github.com/ClickHouse/ClickHouse/issues/5885). [#6477](https://github.com/ClickHouse/ClickHouse/pull/6477) ([dimarub2000](https://github.com/dimarub2000))
* Функция `bitmapRange(bitmap, range_begin, range_end)`, которая возвращает новое множество для указанного диапазона (без `range_end`). [#6314](https://github.com/ClickHouse/ClickHouse/pull/6314) ([Zhichang Yu](https://github.com/yuzhichang))
* Функция `geohashesInBox(longitude_min, latitude_min, longitude_max, latitude_max, precision)`, которая создаёт массив строк длины precision с геохешами ячеек, покрывающих указанную область. [#6127](https://github.com/ClickHouse/ClickHouse/pull/6127) ([Vasily Nemkov](https://github.com/Enmk))
* Добавлена поддержка запросов INSERT для таблиц `Kafka`. [#6012](https://github.com/ClickHouse/ClickHouse/pull/6012) ([Ivan](https://github.com/abyss7))
* Добавлена поддержка виртуальных столбцов `_partition` и `_timestamp` для движка Kafka. [#6400](https://github.com/ClickHouse/ClickHouse/pull/6400) ([Ivan](https://github.com/abyss7))
* Возможность удалять конфиденциальные данные из `query_log`, серверных журналов и списка процессов по правилам на основе регулярных выражений. [#5710](https://github.com/ClickHouse/ClickHouse/pull/5710) ([filimonov](https://github.com/filimonov))

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

* Формат входных и выходных данных `Template`. Позволяет задавать пользовательскую format string для ввода и вывода. [#4354](https://github.com/ClickHouse/ClickHouse/issues/4354) [#6727](https://github.com/ClickHouse/ClickHouse/pull/6727) ([tavplubix](https://github.com/tavplubix))
* Реализованы таблицы `LIVE VIEW`, первоначально предложенные в [#2898](https://github.com/ClickHouse/ClickHouse/pull/2898), подготовленные в [#3925](https://github.com/ClickHouse/ClickHouse/issues/3925) и затем обновлённые в [#5541](https://github.com/ClickHouse/ClickHouse/issues/5541). Подробное описание см. в [#5541](https://github.com/ClickHouse/ClickHouse/issues/5541). [#5541](https://github.com/ClickHouse/ClickHouse/issues/5541) ([vzakaznikov](https://github.com/vzakaznikov)) [#6425](https://github.com/ClickHouse/ClickHouse/pull/6425) ([Nikolai Kochetov](https://github.com/KochetovNicolai)) [#6656](https://github.com/ClickHouse/ClickHouse/pull/6656) ([vzakaznikov](https://github.com/vzakaznikov)) Обратите внимание, что возможность `LIVE VIEW` может быть удалена в следующих версиях.

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

* В этот выпуск также включены все исправления ошибок из версий 19.13 и 19.11.
* Исправлена ошибка сегментации, когда у таблицы есть skip-индексы и происходит Вертикальное слияние. [#6723](https://github.com/ClickHouse/ClickHouse/pull/6723) ([alesapin](https://github.com/alesapin))
* Исправлен per-column TTL для столбцов с нетривиальными значениями по умолчанию. Ранее при принудительном TTL-слиянии запросом `OPTIMIZE ... FINAL` истёкшие значения заменялись значениями типа по умолчанию, а не заданными пользователем значениями по умолчанию для столбца. [#6796](https://github.com/ClickHouse/ClickHouse/pull/6796) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена проблема дублирования сообщений Kafka при штатном перезапуске сервера. [#6597](https://github.com/ClickHouse/ClickHouse/pull/6597) ([Ivan](https://github.com/abyss7))
* Исправлен бесконечный цикл при чтении сообщений из Kafka. Не следует вообще приостанавливать/возобновлять consumer для subscription — иначе в некоторых сценариях он может остаться приостановленным на неопределённое время. [#6354](https://github.com/ClickHouse/ClickHouse/pull/6354) ([Ivan](https://github.com/abyss7))
* Исправлено исключение `Key expression contains comparison between inconvertible types` в функции `bitmapContains`. [#6136](https://github.com/ClickHouse/ClickHouse/issues/6136) [#6146](https://github.com/ClickHouse/ClickHouse/issues/6146) [#6156](https://github.com/ClickHouse/ClickHouse/pull/6156) ([dimarub2000](https://github.com/dimarub2000))
* Исправлен segfault при включенной настройке `optimize_skip_unused_shards` и отсутствии ключа сегментирования. [#6384](https://github.com/ClickHouse/ClickHouse/pull/6384) ([Anton Popov](https://github.com/CurtizJ))
* Исправлен некорректный код в мутациях, который мог приводить к повреждению памяти. Исправлен segfault при чтении по адресу `0x14c0`, который мог возникать при одновременном `DROP TABLE` и `SELECT` из `system.parts` или `system.parts_columns`. Исправлено состояние гонки при подготовке запросов мутации. Исправлена взаимная блокировка, вызванная `OPTIMIZE` таблиц Replicated и одновременными операциями модификации, такими как ALTER. [#6514](https://github.com/ClickHouse/ClickHouse/pull/6514) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Удалено избыточно подробное логирование в интерфейсе MySQL [#6389](https://github.com/ClickHouse/ClickHouse/pull/6389) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Возвращена возможность разбирать логические настройки из значений 'true' и 'false' в файле конфигурации. [#6278](https://github.com/ClickHouse/ClickHouse/pull/6278) ([alesapin](https://github.com/alesapin))
* Исправлено аварийное завершение в функциях `quantile` и `median` при работе с `Nullable(Decimal128)`. [#6378](https://github.com/ClickHouse/ClickHouse/pull/6378) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена возможная ошибка, из-за которой запрос `SELECT` с условием `WHERE` по primary key, содержащим преобразование к типу Float, мог возвращать неполный результат. Причиной была некорректная проверка монотонности в функции `toFloat`. [#6248](https://github.com/ClickHouse/ClickHouse/issues/6248) [#6374](https://github.com/ClickHouse/ClickHouse/pull/6374) ([dimarub2000](https://github.com/dimarub2000))
* Проверка настройки `max_expanded_ast_elements` для мутаций. Очистка мутаций после `TRUNCATE TABLE`. [#6205](https://github.com/ClickHouse/ClickHouse/pull/6205) ([Winter Zhang](https://github.com/zhang2014))
* Исправлен результат JOIN для столбцов ключа при использовании `join_use_nulls`. Подставляются NULL вместо значений столбцов по умолчанию. [#6249](https://github.com/ClickHouse/ClickHouse/pull/6249) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлены индексы пропуска при Вертикальном слиянии и alter. Исправлено исключение `Bad size of marks file`. [#6594](https://github.com/ClickHouse/ClickHouse/issues/6594) [#6713](https://github.com/ClickHouse/ClickHouse/pull/6713) ([alesapin](https://github.com/alesapin))
* Исправлено редкое падение в `ALTER MODIFY COLUMN` и при вертикальном слиянии, когда одна из слитых/изменённых частей пуста (0 строк) [#6746](https://github.com/ClickHouse/ClickHouse/issues/6746) [#6780](https://github.com/ClickHouse/ClickHouse/pull/6780) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка при преобразовании типов `LowCardinality` в `AggregateFunctionFactory`. Это исправление устраняет проблему [#6257](https://github.com/ClickHouse/ClickHouse/issues/6257). [#6281](https://github.com/ClickHouse/ClickHouse/pull/6281) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлены некорректное поведение и возможные segfault в агрегатных функциях `topK` и `topKWeighted`. [#6404](https://github.com/ClickHouse/ClickHouse/pull/6404) ([Anton Popov](https://github.com/CurtizJ))
* Исправлен небезопасный код, связанный с функцией `getIdentifier`. [#6401](https://github.com/ClickHouse/ClickHouse/issues/6401) [#6409](https://github.com/ClickHouse/ClickHouse/pull/6409) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка в протоколе MySQL, который используется при подключении к ClickHouse из клиента MySQL. Причиной было переполнение буфера кучи в `PacketPayloadWriteBuffer`. [#6212](https://github.com/ClickHouse/ClickHouse/pull/6212) ([Yuriy Baranov](https://github.com/yurriy))
* Исправлена утечка памяти в функции `bitmapSubsetInRange`. [#6819](https://github.com/ClickHouse/ClickHouse/pull/6819) ([Zhichang Yu](https://github.com/yuzhichang))
* Исправлена редкая ошибка при выполнении мутации после изменения гранулярности. [#6816](https://github.com/ClickHouse/ClickHouse/pull/6816) ([alesapin](https://github.com/alesapin))
* По умолчанию разрешены сообщения Protobuf со всеми полями. [#6132](https://github.com/ClickHouse/ClickHouse/pull/6132) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена ошибка в функции `nullIf`, возникавшая при передаче `NULL` в качестве второго аргумента. [#6446](https://github.com/ClickHouse/ClickHouse/pull/6446) ([Guillaume Tassery](https://github.com/YiuRULE))
* Исправлена редкая ошибка, связанная с некорректным выделением/освобождением памяти в словарях типа cache со сложным ключом и строковыми полями, которая приводила к неограниченному потреблению памяти (похоже на утечку памяти). Ошибка воспроизводилась, когда размер строки был степенью двойки, начиная с восьми (8, 16, 32 и т. д.). [#6447](https://github.com/ClickHouse/ClickHouse/pull/6447) ([alesapin](https://github.com/alesapin))
* Исправлено кодирование Gorilla для коротких последовательностей, из-за которого возникало исключение `Cannot write after end of buffer`. [#6398](https://github.com/ClickHouse/ClickHouse/issues/6398) [#6444](https://github.com/ClickHouse/ClickHouse/pull/6444) ([Vasily Nemkov](https://github.com/Enmk))
* Разрешено использовать типы, не допускающие NULL, в JOIN при включенной `join_use_nulls`. [#6705](https://github.com/ClickHouse/ClickHouse/pull/6705) ([Artem Zuikov](https://github.com/4ertus2))
* Отключены подстановки `Poco::AbstractConfiguration` в запросах в `clickhouse-client`. [#6706](https://github.com/ClickHouse/ClickHouse/pull/6706) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Предотвращена взаимная блокировка в `REPLACE PARTITION`. [#6677](https://github.com/ClickHouse/ClickHouse/pull/6677) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Использование `arrayReduce` с константными аргументами может приводить к ошибке сегментации. [#6242](https://github.com/ClickHouse/ClickHouse/issues/6242) [#6326](https://github.com/ClickHouse/ClickHouse/pull/6326) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены неконсистентные части, которые могли появиться, если реплика была восстановлена после `DROP PARTITION`. [#6522](https://github.com/ClickHouse/ClickHouse/issues/6522) [#6523](https://github.com/ClickHouse/ClickHouse/pull/6523) ([tavplubix](https://github.com/tavplubix))
* Устранено зависание в функции `JSONExtractRaw`. [#6195](https://github.com/ClickHouse/ClickHouse/issues/6195) [#6198](https://github.com/ClickHouse/ClickHouse/pull/6198) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, связанная с некорректной сериализацией индексов пропуска и агрегированием при использовании адаптивной гранулярности. [#6594](https://github.com/ClickHouse/ClickHouse/issues/6594). [#6748](https://github.com/ClickHouse/ClickHouse/pull/6748) ([alesapin](https://github.com/alesapin))
* Исправлены модификаторы `WITH ROLLUP` и `WITH CUBE` в `GROUP BY` при двухуровневой агрегации. [#6225](https://github.com/ClickHouse/ClickHouse/pull/6225) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена ошибка при записи меток вторичных индексов с адаптивной гранулярностью. [#6126](https://github.com/ClickHouse/ClickHouse/pull/6126) ([alesapin](https://github.com/alesapin))
* Исправлен порядок инициализации при запуске сервера. Поскольку `StorageMergeTree::background_task_handle` инициализируется в `startup()`, `MergeTreeBlockOutputStream::write()` может попытаться использовать его до инициализации. Теперь просто проверяется, был ли он инициализирован. [#6080](https://github.com/ClickHouse/ClickHouse/pull/6080) ([Ivan](https://github.com/abyss7))
* Очистка буфера данных после предыдущей операции чтения, завершившейся ошибкой. [#6026](https://github.com/ClickHouse/ClickHouse/pull/6026) ([Nikolay](https://github.com/bopohaa))
* Исправлена ошибка при включении адаптивной гранулярности при создании новой реплики для таблицы семейства Replicated\*MergeTree. [#6394](https://github.com/ClickHouse/ClickHouse/issues/6394) [#6452](https://github.com/ClickHouse/ClickHouse/pull/6452) ([alesapin](https://github.com/alesapin))
* Исправлен возможный сбой при запуске сервера, если в `libunwind` возникало Исключение во время обработки другого исключения при обращении к неинициализированной структуре `ThreadStatus`. [#6456](https://github.com/ClickHouse/ClickHouse/pull/6456) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Исправлен сбой в функции `yandexConsistentHash`. Выявлено с помощью фазз-тестирования. [#6304](https://github.com/ClickHouse/ClickHouse/issues/6304) [#6305](https://github.com/ClickHouse/ClickHouse/pull/6305) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена проблема, из-за которой запросы могли зависать, когда сервер перегружен и глобальный пул потоков почти полностью занят. Это с большей вероятностью происходит в кластерах с большим числом сегментов (сотни), поскольку распределённые запросы выделяют по одному потоку на соединение с каждым сегментом. Например, эта проблема может воспроизводиться, если кластер из 330 сегментов обрабатывает 30 параллельных распределённых запросов. Эта проблема затрагивает все версии, начиная с 19.2. [#6301](https://github.com/ClickHouse/ClickHouse/pull/6301) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена логика работы функции `arrayEnumerateUniqRanked`. [#6423](https://github.com/ClickHouse/ClickHouse/pull/6423) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен segfault при декодировании таблицы символов. [#6603](https://github.com/ClickHouse/ClickHouse/pull/6603) ([Amos Bird](https://github.com/amosbird))
* Исправлено лишнее исключение при приведении `LowCardinality(Nullable)` к столбцу not-Nullable в случае, если он не содержит значений NULL (например, в запросе вида `SELECT CAST(CAST('Hello' AS LowCardinality(Nullable(String))) AS String)`. [#6094](https://github.com/ClickHouse/ClickHouse/issues/6094) [#6119](https://github.com/ClickHouse/ClickHouse/pull/6119) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Убраны лишние кавычки в описании в таблице `system.settings`. [#6696](https://github.com/ClickHouse/ClickHouse/issues/6696) [#6699](https://github.com/ClickHouse/ClickHouse/pull/6699) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Устранена возможная взаимная блокировка при `TRUNCATE` таблицы Replicated. [#6695](https://github.com/ClickHouse/ClickHouse/pull/6695) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено чтение в порядке, заданном ключом сортировки. [#6189](https://github.com/ClickHouse/ClickHouse/pull/6189) ([Anton Popov](https://github.com/CurtizJ))
* Исправлен запрос `ALTER TABLE ... UPDATE` для таблиц с `enable_mixed_granularity_parts=1`. [#6543](https://github.com/ClickHouse/ClickHouse/pull/6543) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка из [#4405](https://github.com/ClickHouse/ClickHouse/pull/4405) (начиная с 19.4.0). Воспроизводится в запросах к таблицам Distributed поверх таблиц MergeTree, когда не запрашивается ни один столбец (`SELECT 1`). [#6236](https://github.com/ClickHouse/ClickHouse/pull/6236) ([alesapin](https://github.com/alesapin))
* Исправлено переполнение при целочисленном делении из знакового типа в беззнаковый. Поведение было в точности таким же, как в языке C или C++ (правила целочисленного продвижения), что могло оказаться неожиданным. Обратите внимание, что переполнение по-прежнему возможно при делении большого знакового числа на большое беззнаковое число или наоборот (хотя такой случай встречается реже). Эта проблема существовала во всех версиях сервера. [#6214](https://github.com/ClickHouse/ClickHouse/issues/6214) [#6233](https://github.com/ClickHouse/ClickHouse/pull/6233) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ограничено максимальное время паузы при throttling, когда задан `max_execution_speed` или `max_execution_speed_bytes`. Исправлены ложные ошибки вида `Estimated query execution time (inf seconds) is too long`. [#5547](https://github.com/ClickHouse/ClickHouse/issues/5547) [#6232](https://github.com/ClickHouse/ClickHouse/pull/6232) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены проблемы при использовании столбцов `MATERIALIZED` и псевдонимов в `MaterializedView`. [#448](https://github.com/ClickHouse/ClickHouse/issues/448) [#3484](https://github.com/ClickHouse/ClickHouse/issues/3484) [#3450](https://github.com/ClickHouse/ClickHouse/issues/3450) [#2878](https://github.com/ClickHouse/ClickHouse/issues/2878) [#2285](https://github.com/ClickHouse/ClickHouse/issues/2285) [#3796](https://github.com/ClickHouse/ClickHouse/pull/3796) ([Amos Bird](https://github.com/amosbird)) [#6316](https://github.com/ClickHouse/ClickHouse/pull/6316) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено поведение `FormatFactory` для входных потоков, не реализованных в виде процессора. [#6495](https://github.com/ClickHouse/ClickHouse/pull/6495) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлена опечатка. [#6631](https://github.com/ClickHouse/ClickHouse/pull/6631) ([Alex Ryndin](https://github.com/alexryndin))
* Исправлена опечатка в сообщении об ошибке ( is -> are ). [#6839](https://github.com/ClickHouse/ClickHouse/pull/6839) ([Denis Zhuravlev](https://github.com/den-crane))
* Исправлена ошибка при разборе из строки списка столбцов, если тип содержал запятую (эта проблема касалась хранилищ `File`, `URL`, `HDFS`) [#6217](https://github.com/ClickHouse/ClickHouse/issues/6217). [#6209](https://github.com/ClickHouse/ClickHouse/pull/6209) ([dimarub2000](https://github.com/dimarub2000))

<div id="security-fix">
  #### Исправления безопасности
</div>

* Этот релиз также содержит все исправления ошибок безопасности из версий 19.13 и 19.11.
* Устранена возможность того, что специально сформированный запрос мог вызвать сбой сервера из-за переполнения стека в SQL-парсере. Также устранена возможность переполнения стека в таблицах Merge и Distributed, materialized view и условиях безопасности на уровне строк, включающих подзапросы. [#6433](https://github.com/ClickHouse/ClickHouse/pull/6433) ([alexey-milovidov](https://github.com/alexey-milovidov))

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

* Корректная реализация трёхзначной логики для `AND/OR`. [#6048](https://github.com/ClickHouse/ClickHouse/pull/6048) ([Alexander Kazakov](https://github.com/Akazz))
* Теперь значения и строки с истёкшим TTL будут удаляться после запроса `OPTIMIZE ... FINAL` из старых частей без информации о TTL или с устаревшей информацией о TTL, например после запроса `ALTER ... MODIFY TTL`. Добавлены запросы `SYSTEM STOP/START TTL MERGES`, позволяющие запрещать/разрешать назначение слияний с TTL и отфильтровывать истёкшие значения во всех слияниях. [#6274](https://github.com/ClickHouse/ClickHouse/pull/6274) ([Anton Popov](https://github.com/CurtizJ))
* Возможность изменить расположение файла истории ClickHouse для клиента с помощью переменной среды `CLICKHOUSE_HISTORY_FILE`. [#6840](https://github.com/ClickHouse/ClickHouse/pull/6840) ([filimonov](https://github.com/filimonov))
* Удалён флаг `dry_run` из `InterpreterSelectQuery`. ... [#6375](https://github.com/ClickHouse/ClickHouse/pull/6375) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Добавлена поддержка `ASOF JOIN` в секции `ON`. [#6211](https://github.com/ClickHouse/ClickHouse/pull/6211) ([Artem Zuikov](https://github.com/4ertus2))
* Улучшена поддержка индексов пропуска данных в мутациях и репликации. Добавлена поддержка запроса `MATERIALIZE/CLEAR INDEX ... IN PARTITION`. `UPDATE x = x` пересчитывает все индексы, использующие столбец `x`. [#5053](https://github.com/ClickHouse/ClickHouse/pull/5053) ([Nikita Vasilev](https://github.com/nikvas0))
* Разрешён `ATTACH` live views (например, при запуске сервера) независимо от настройки `allow_experimental_live_view`. [#6754](https://github.com/ClickHouse/ClickHouse/pull/6754) ([alexey-milovidov](https://github.com/alexey-milovidov))
* В трассировки стека, собранные профилировщиком запросов, не включать кадры стека, созданные самим профилировщиком запросов. [#6250](https://github.com/ClickHouse/ClickHouse/pull/6250) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Теперь в табличных функциях `values`, `file`, `url`, `hdfs` появилась поддержка ALIAS-столбцов. [#6255](https://github.com/ClickHouse/ClickHouse/pull/6255) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Сгенерировать исключение, если файл `config.d` не содержит того же корневого элемента, что и файл config. [#6123](https://github.com/ClickHouse/ClickHouse/pull/6123) ([dimarub2000](https://github.com/dimarub2000))
* Добавлен вывод дополнительной информации в сообщении об исключении при `no space left on device`. [#6182](https://github.com/ClickHouse/ClickHouse/issues/6182), [#6252](https://github.com/ClickHouse/ClickHouse/issues/6252) [#6352](https://github.com/ClickHouse/ClickHouse/pull/6352) ([tavplubix](https://github.com/tavplubix))
* При определении сегментов таблицы `Distributed`, к которым должен обращаться запрос на чтение (для `optimize_skip_unused_shards` = 1), ClickHouse теперь проверяет условия как из секции `prewhere`, так и из секции `where` оператора `select`. [#6521](https://github.com/ClickHouse/ClickHouse/pull/6521) ([Alexander Kazakov](https://github.com/Akazz))
* Добавлена поддержка `SIMDJSON` для машин без AVX2, но с набором инструкций SSE 4.2 и PCLMUL. [#6285](https://github.com/ClickHouse/ClickHouse/issues/6285) [#6320](https://github.com/ClickHouse/ClickHouse/pull/6320) ([alexey-milovidov](https://github.com/alexey-milovidov))
* ClickHouse может работать в файловых системах без поддержки `O_DIRECT` (например, ZFS и BtrFS) без дополнительной настройки. [#4449](https://github.com/ClickHouse/ClickHouse/issues/4449) [#6730](https://github.com/ClickHouse/ClickHouse/pull/6730) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Поддержка проталкивания предиката для FINAL-подзапроса. [#6120](https://github.com/ClickHouse/ClickHouse/pull/6120) ([TCeason](https://github.com/TCeason)) [#6162](https://github.com/ClickHouse/ClickHouse/pull/6162) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Улучшено извлечение ключей из `JOIN ON` [#6131](https://github.com/ClickHouse/ClickHouse/pull/6131) ([Artem Zuikov](https://github.com/4ertus2))
* Обновлён `SIMDJSON`. [#6285](https://github.com/ClickHouse/ClickHouse/issues/6285). [#6306](https://github.com/ClickHouse/ClickHouse/pull/6306) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Оптимизирован выбор столбца наименьшего размера для запроса `SELECT count()`. [#6344](https://github.com/ClickHouse/ClickHouse/pull/6344) ([Amos Bird](https://github.com/amosbird))
* Добавлен параметр `strict` в `windowFunnel()`. Если задан `strict`, `windowFunnel()` применяет условия только к уникальным значениям. [#6548](https://github.com/ClickHouse/ClickHouse/pull/6548) ([achimbab](https://github.com/achimbab))
* Более безопасный интерфейс `mysqlxx::Pool`. [#6150](https://github.com/ClickHouse/ClickHouse/pull/6150) ([avasiliev](https://github.com/avasiliev))
* Ширина строк параметров при выводе справки с параметром `--help` теперь соответствует размеру терминала. [#6590](https://github.com/ClickHouse/ClickHouse/pull/6590) ([dimarub2000](https://github.com/dimarub2000))
* Отключена оптимизация "чтение по порядку" при агрегации без ключей. [#6599](https://github.com/ClickHouse/ClickHouse/pull/6599) ([Anton Popov](https://github.com/CurtizJ))
* HTTP-код состояния для кодов ошибок `INCORRECT_DATA` и `TYPE_MISMATCH` был изменён со стандартного `500 Internal Server Error` на `400 Bad Request`. [#6271](https://github.com/ClickHouse/ClickHouse/pull/6271) ([Alexander Rodin](https://github.com/a-rodin))
* Объект JOIN перенесён из `ExpressionAction` в `AnalyzedJoin`. `ExpressionAnalyzer` и `ExpressionAction` больше не зависят от класса `Join`. Его логика скрыта за интерфейсом `AnalyzedJoin`. [#6801](https://github.com/ClickHouse/ClickHouse/pull/6801) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена возможная взаимная блокировка распределённых запросов, когда один из сегментов находится на localhost, а запрос отправляется по сетевому соединению. [#6759](https://github.com/ClickHouse/ClickHouse/pull/6759) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Изменена семантика операции `RENAME` для нескольких таблиц, чтобы избежать возможных взаимных блокировок. [#6757](https://github.com/ClickHouse/ClickHouse/issues/6757). [#6756](https://github.com/ClickHouse/ClickHouse/pull/6756) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Переписан сервер совместимости с MySQL, чтобы не загружать в память полезную нагрузку пакета целиком. Потребление памяти для каждого соединения снижено примерно до `2 * DBMS_DEFAULT_BUFFER_SIZE` (буферы чтения/записи). [#5811](https://github.com/ClickHouse/ClickHouse/pull/5811) ([Yuriy Baranov](https://github.com/yurriy))
* Логика интерпретации алиасов AST вынесена из парсера, который не должен ничего знать о семантике запроса. [#6108](https://github.com/ClickHouse/ClickHouse/pull/6108) ([Artem Zuikov](https://github.com/4ertus2))
* Немного более безопасный парсинг `NamesAndTypesList`. [#6408](https://github.com/ClickHouse/ClickHouse/issues/6408). [#6410](https://github.com/ClickHouse/ClickHouse/pull/6410) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `clickhouse-copier`: Разрешено использовать `where_condition` из конфигурации вместе с алиасом `partition_key` в запросе для проверки существования партиции (ранее это использовалось только в запросах на чтение данных). [#6577](https://github.com/ClickHouse/ClickHouse/pull/6577) ([proller](https://github.com/proller))
* В `throwIf` добавлен необязательный аргумент сообщения. ([#5772](https://github.com/ClickHouse/ClickHouse/issues/5772)) [#6329](https://github.com/ClickHouse/ClickHouse/pull/6329) ([Vdimir](https://github.com/Vdimir))
* Исключение сервера, возникающее при отправке данных для вставки, теперь также обрабатывается клиентом. [#5891](https://github.com/ClickHouse/ClickHouse/issues/5891) [#6711](https://github.com/ClickHouse/ClickHouse/pull/6711) ([dimarub2000](https://github.com/dimarub2000))
* Добавлена метрика `DistributedFilesToInsert`, которая показывает общее число файлов в файловой системе, выбранных таблицами Distributed для отправки на удалённые серверы. Значение суммируется по всем сегментам. [#6600](https://github.com/ClickHouse/ClickHouse/pull/6600) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Большая часть логики подготовки JOIN перенесена из `ExpressionAction/ExpressionAnalyzer` в `AnalyzedJoin`. [#6785](https://github.com/ClickHouse/ClickHouse/pull/6785) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено предупреждение TSan [о нарушении порядка блокировок](https://clickhouse-test-reports.s3.yandex.net/6399/c1c1d1daa98e199e620766f1bd06a5921050a00d/functional_stateful_tests_\(thread\).html) 'lock-order-inversion'. [#6740](https://github.com/ClickHouse/ClickHouse/pull/6740) ([Vasily Nemkov](https://github.com/Enmk))
* Более информативные сообщения об отсутствии привилегий Linux. Фатальные ошибки теперь записываются с уровнем "fatal", что упрощает их поиск в `system.text_log`. [#6441](https://github.com/ClickHouse/ClickHouse/pull/6441) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Когда для ограничения использования памяти при `GROUP BY` и `ORDER BY` была включена выгрузка временных данных на диск, свободное место на диске не проверялось. В исправлении добавлена новая настройка `min_free_disk_space`: если свободного места на диске меньше порогового значения, запрос будет остановлен и будет сгенерировано исключение `ErrorCodes::NOT_ENOUGH_SPACE`. [#6678](https://github.com/ClickHouse/ClickHouse/pull/6678) ([Weiqing Xu](https://github.com/weiqxu)) [#6691](https://github.com/ClickHouse/ClickHouse/pull/6691) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Убрали привязку рекурсивного rwlock к потоку. Это не имеет смысла, потому что потоки повторно используются между запросами. Запрос `SELECT` может захватить блокировку в одном потоке, удерживать её в другом и завершиться в первом. В то же время первый поток может быть повторно использован запросом `DROP`. Это будет приводить к ложным сообщениям "Attempt to acquire exclusive lock recursively". [#6771](https://github.com/ClickHouse/ClickHouse/pull/6771) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Метод `ExpressionAnalyzer.appendJoin()` вынесен отдельно. В `ExpressionAnalyzer` подготовлено место для `MergeJoin`. [#6524](https://github.com/ClickHouse/ClickHouse/pull/6524) ([Artem Zuikov](https://github.com/4ertus2))
* В сервер совместимости с MySQL добавлен плагин аутентификации `mysql_native_password`. [#6194](https://github.com/ClickHouse/ClickHouse/pull/6194) ([Yuriy Baranov](https://github.com/yurriy))
* Уменьшено число вызовов `clock_gettime`; исправлена совместимость ABI между debug и release в `Allocator` (незначительная проблема). [#6197](https://github.com/ClickHouse/ClickHouse/pull/6197) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Метод `collectUsedColumns` перенесён из `ExpressionAnalyzer` в `SyntaxAnalyzer`. Теперь `SyntaxAnalyzer` сам формирует `required_source_columns`. [#6416](https://github.com/ClickHouse/ClickHouse/pull/6416) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлена настройка `joined_subquery_requires_alias`, которая требует псевдонимы для вложенных подзапросов и табличных функций в `FROM`, если там указано более одной таблицы (т. е. в запросах с JOIN). [#6733](https://github.com/ClickHouse/ClickHouse/pull/6733) ([Artem Zuikov](https://github.com/4ertus2))
* Вынесен класс `GetAggregatesVisitor` из `ExpressionAnalyzer`. [#6458](https://github.com/ClickHouse/ClickHouse/pull/6458) ([Artem Zuikov](https://github.com/4ertus2))
* `system.query_log`: тип данных столбца `type` изменён на `Enum`. [#6265](https://github.com/ClickHouse/ClickHouse/pull/6265) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Статическая линковка плагина аутентификации `sha256_password`. [#6512](https://github.com/ClickHouse/ClickHouse/pull/6512) ([Yuriy Baranov](https://github.com/yurriy))
* Убрана лишняя зависимость, необходимая для работы настройки `compile`. В предыдущих версиях пользователь мог получать ошибки вида `cannot open crti.o`, `unable to find library -lc` и т. д. [#6309](https://github.com/ClickHouse/ClickHouse/pull/6309) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Улучшена проверка входных данных, которые могут поступать от вредоносной реплики. [#6303](https://github.com/ClickHouse/ClickHouse/pull/6303) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Теперь файл `clickhouse-obfuscator` доступен в составе пакета `clickhouse-client`. В предыдущих версиях он был доступен под именем `clickhouse obfuscator` (с пробелом). [#5816](https://github.com/ClickHouse/ClickHouse/issues/5816) [#6609](https://github.com/ClickHouse/ClickHouse/pull/6609) ([dimarub2000](https://github.com/dimarub2000))
* Исправлена взаимная блокировка, возникавшая при наличии как минимум двух запросов, читающих как минимум две таблицы в разном порядке, и ещё одного запроса, выполняющего DDL-операцию над одной из этих таблиц. Исправлена ещё одна, очень редкая взаимная блокировка. [#6764](https://github.com/ClickHouse/ClickHouse/pull/6764) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен столбец `os_thread_ids` в `system.processes` и `system.query_log` для более удобной отладки. [#6763](https://github.com/ClickHouse/ClickHouse/pull/6763) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Обходное решение для ошибок в расширении PHP mysqlnd, которые возникают, когда `sha256_password` используется в качестве плагина authentication по умолчанию (описано в [#6031](https://github.com/ClickHouse/ClickHouse/issues/6031)). [#6113](https://github.com/ClickHouse/ClickHouse/pull/6113) ([Yuriy Baranov](https://github.com/yurriy))
* Убрано лишнее место в столбцах с изменённой NULL-допустимостью. [#6693](https://github.com/ClickHouse/ClickHouse/pull/6693) ([Artem Zuikov](https://github.com/4ertus2))
* Значение `queue_max_wait_ms` по умолчанию установлено в ноль, поскольку текущее значение (пять секунд) не имеет смысла. Эта настройка бывает полезна лишь в редких случаях. Для устранения неоднозначности добавлены настройки `replace_running_query_max_wait_ms`, `kafka_max_wait_ms` и `connection_pool_max_wait_ms`. [#6692](https://github.com/ClickHouse/ClickHouse/pull/6692) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Класс `SelectQueryExpressionAnalyzer` выделен из `ExpressionAnalyzer`. Последний оставлен для запросов, отличных от SELECT. [#6499](https://github.com/ClickHouse/ClickHouse/pull/6499) ([Artem Zuikov](https://github.com/4ertus2))
* Убраны дублирующиеся входные и выходные форматы. [#6239](https://github.com/ClickHouse/ClickHouse/pull/6239) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Пользователь может переопределять настройки `poll_interval` и `idle_connection_timeout` для соединения. [#6230](https://github.com/ClickHouse/ClickHouse/pull/6230) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `MergeTree` теперь поддерживает дополнительную опцию `ttl_only_drop_parts` (по умолчанию отключена), которая позволяет избежать частичного отсечения частей: если в части истёк срок TTL для всех строк, она удаляется целиком. [#6191](https://github.com/ClickHouse/ClickHouse/pull/6191) ([Sergi Vladykin](https://github.com/svladykin))
* Проверка типов для функций set-индекса. Генерируется исключение, если функция получила неверный тип. Это исправляет фазз-тест с UBSan. [#6511](https://github.com/ClickHouse/ClickHouse/pull/6511) ([Nikita Vasilev](https://github.com/nikvas0))

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

* Оптимизированы запросы с условием `ORDER BY expressions`, где у `expressions` совпадает префикс с ключом сортировки в таблицах `MergeTree`. Эта оптимизация управляется настройкой `optimize_read_in_order`. [#6054](https://github.com/ClickHouse/ClickHouse/pull/6054) [#6629](https://github.com/ClickHouse/ClickHouse/pull/6629) ([Anton Popov](https://github.com/CurtizJ))
* Разрешено использовать несколько потоков при загрузке и удалении частей. [#6372](https://github.com/ClickHouse/ClickHouse/issues/6372) [#6074](https://github.com/ClickHouse/ClickHouse/issues/6074) [#6438](https://github.com/ClickHouse/ClickHouse/pull/6438) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Реализован батч-вариант обновления состояний агрегатных функций. Это может дать прирост производительности. [#6435](https://github.com/ClickHouse/ClickHouse/pull/6435) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Для функций `exp`, `log`, `sigmoid`, `tanh` используется библиотека `FastOps`. FastOps — быстрая библиотека векторной математики от Michael Parakhin (CTO Yandex). Производительность функций `exp` и `log` выросла более чем в 6 раз. Функции `exp` и `log` с аргументом `Float32` теперь возвращают `Float32` (в предыдущих версиях они всегда возвращали `Float64`). Теперь `exp(nan)` может возвращать `inf`. Результат функций `exp` и `log` может быть не ближайшим к истинному ответу машинно-представимым числом. [#6254](https://github.com/ClickHouse/ClickHouse/pull/6254) ([alexey-milovidov](https://github.com/alexey-milovidov)) Используется вариант Danila Kutenin, чтобы `FastOps` работал [#6317](https://github.com/ClickHouse/ClickHouse/pull/6317) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Отключена оптимизация последовательного ключа для `UInt8/16`. [#6298](https://github.com/ClickHouse/ClickHouse/pull/6298) [#6701](https://github.com/ClickHouse/ClickHouse/pull/6701) ([akuzm](https://github.com/akuzm))
* Улучшена производительность библиотеки `simdjson` за счёт отказа от динамического выделения памяти в `ParsedJson::Iterator`. [#6479](https://github.com/ClickHouse/ClickHouse/pull/6479) ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлено предварительное отображение страниц в память при выделении памяти с помощью `mmap()`. [#6667](https://github.com/ClickHouse/ClickHouse/pull/6667) ([akuzm](https://github.com/akuzm))
* Исправлена проблема с производительностью при сравнении `Decimal`. [#6380](https://github.com/ClickHouse/ClickHouse/pull/6380) ([Artem Zuikov](https://github.com/4ertus2))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Удалён Compiler (инстанцирование шаблонов во время выполнения), так как нам удалось превзойти его по производительности. [#6646](https://github.com/ClickHouse/ClickHouse/pull/6646) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен тест производительности, чтобы в более изолированном виде показать деградацию производительности в gcc-9. [#6302](https://github.com/ClickHouse/ClickHouse/pull/6302) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена табличная функция `numbers_mt` — многопоточная версия `numbers`. Обновлены тесты производительности для хеш-функций. [#6554](https://github.com/ClickHouse/ClickHouse/pull/6554) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Режим сравнения в `clickhouse-benchmark` [#6220](https://github.com/ClickHouse/ClickHouse/issues/6220) [#6343](https://github.com/ClickHouse/ClickHouse/pull/6343) ([dimarub2000](https://github.com/dimarub2000))
* По возможности улучшен вывод трассировок стека. Также добавлен `SIGPROF` в качестве отладочного сигнала для вывода трассировки стека работающего потока. [#6529](https://github.com/ClickHouse/ClickHouse/pull/6529) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Каждая функция в отдельном файле, часть 10. [#6321](https://github.com/ClickHouse/ClickHouse/pull/6321) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Удалена продублированная константа `TABLE_IS_READ_ONLY`. [#6566](https://github.com/ClickHouse/ClickHouse/pull/6566) ([filimonov](https://github.com/filimonov))
* Изменения форматирования `StringHashMap` в PR [#5417](https://github.com/ClickHouse/ClickHouse/issues/5417). [#6700](https://github.com/ClickHouse/ClickHouse/pull/6700) ([akuzm](https://github.com/akuzm))
* Улучшен подзапрос, используемый для создания JOIN, в `ExpressionAnalyzer`. [#6824](https://github.com/ClickHouse/ClickHouse/pull/6824) ([Artem Zuikov](https://github.com/4ertus2))
* Удалено избыточное условие (обнаруженное с помощью PVS Studio). [#6775](https://github.com/ClickHouse/ClickHouse/pull/6775) ([akuzm](https://github.com/akuzm))
* Для `ReverseIndex` выделен отдельный интерфейс хеш-таблицы. [#6672](https://github.com/ClickHouse/ClickHouse/pull/6672) ([akuzm](https://github.com/akuzm))
* Рефакторинг настроек. [#6689](https://github.com/ClickHouse/ClickHouse/pull/6689) ([alesapin](https://github.com/alesapin))
* Добавлены комментарии к функциям индекса `set`. [#6319](https://github.com/ClickHouse/ClickHouse/pull/6319) ([Nikita Vasilev](https://github.com/nikvas0))
* Повышен OOM score в отладочной версии для Linux. [#6152](https://github.com/ClickHouse/ClickHouse/pull/6152) ([akuzm](https://github.com/akuzm))
* Поддержка HDFS HA теперь работает в отладочной сборке. [#6650](https://github.com/ClickHouse/ClickHouse/pull/6650) ([Weiqing Xu](https://github.com/weiqxu))
* Добавлен тест в `transform_query_for_external_database`. [#6388](https://github.com/ClickHouse/ClickHouse/pull/6388) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен тест для нескольких materialized view таблицы Kafka. [#6509](https://github.com/ClickHouse/ClickHouse/pull/6509) ([Ivan](https://github.com/abyss7))
* Улучшена схема сборки. [#6500](https://github.com/ClickHouse/ClickHouse/pull/6500) ([Ivan](https://github.com/abyss7))
* Исправлен интеграционный тест `test_external_dictionaries` для случая, когда он выполнялся пользователем без прав root. [#6507](https://github.com/ClickHouse/ClickHouse/pull/6507) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Ошибка возникает, когда суммарный размер записанных пакетов превышает `DBMS_DEFAULT_BUFFER_SIZE`. [#6204](https://github.com/ClickHouse/ClickHouse/pull/6204) ([Yuriy Baranov](https://github.com/yurriy))
* Добавлен тест на состояние гонки при `RENAME` таблицы [#6752](https://github.com/ClickHouse/ClickHouse/pull/6752) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Устранено состояние гонки в Settings в `KILL QUERY`. [#6753](https://github.com/ClickHouse/ClickHouse/pull/6753) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен интеграционный тест для обработки ошибок в словаре типа cache. [#6755](https://github.com/ClickHouse/ClickHouse/pull/6755) ([Vitaly Baranov](https://github.com/vitlibar))
* Отключён разбор ELF-файлов объектов в Mac OS, поскольку в этом нет смысла. [#6578](https://github.com/ClickHouse/ClickHouse/pull/6578) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Попытка улучшить генератор changelog. [#6327](https://github.com/ClickHouse/ClickHouse/pull/6327) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен флаг `-Wshadow` в GCC. [#6325](https://github.com/ClickHouse/ClickHouse/pull/6325) ([kreuzerkrieg](https://github.com/kreuzerkrieg))
* Удалён устаревший код поддержки `mimalloc`. [#6715](https://github.com/ClickHouse/ClickHouse/pull/6715) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `zlib-ng` определяет возможности x86 и сохраняет эту информацию в глобальных переменных. Это происходит при вызове `defalteInit`, который может одновременно выполняться в разных потоках. Чтобы избежать записи из нескольких потоков, делайте это при запуске библиотеки. [#6141](https://github.com/ClickHouse/ClickHouse/pull/6141) ([akuzm](https://github.com/akuzm))
* Регрессионный тест для ошибки, связанной с JOIN, которая была исправлена в [#5192](https://github.com/ClickHouse/ClickHouse/issues/5192). [#6147](https://github.com/ClickHouse/ClickHouse/pull/6147) ([Bakhtiyor Ruziev](https://github.com/theruziev))
* Исправлен отчёт MSan. [#6144](https://github.com/ClickHouse/ClickHouse/pull/6144) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен флапающий тест TTL. [#6782](https://github.com/ClickHouse/ClickHouse/pull/6782) ([Anton Popov](https://github.com/CurtizJ))
* Устранена ложная гонка данных в поле `MergeTreeDataPart::is_frozen`. [#6583](https://github.com/ClickHouse/ClickHouse/pull/6583) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены тайм-ауты в fuzz-тесте. В предыдущей версии тест выявлял ложное зависание в запросе `SELECT * FROM numbers_mt(gccMurmurHash(''))`. [#6582](https://github.com/ClickHouse/ClickHouse/pull/6582) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены отладочные проверки при `static_cast` столбцов. [#6581](https://github.com/ClickHouse/ClickHouse/pull/6581) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена поддержка Oracle Linux в официальных RPM-пакетах. [#6356](https://github.com/ClickHouse/ClickHouse/issues/6356) [#6585](https://github.com/ClickHouse/ClickHouse/pull/6585) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Для json perftests тип изменён с `once` на `loop`. [#6536](https://github.com/ClickHouse/ClickHouse/pull/6536) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* `odbc-bridge.cpp` содержит определение `main()`, поэтому его не следует включать в `clickhouse-lib`. [#6538](https://github.com/ClickHouse/ClickHouse/pull/6538) ([Orivej Desh](https://github.com/orivej))
* Тест на падение при `FULL|RIGHT JOIN` с NULL в ключах правой таблицы. [#6362](https://github.com/ClickHouse/ClickHouse/pull/6362) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлен тест на ограничение при раскрытии псевдонимов на всякий случай. [#6442](https://github.com/ClickHouse/ClickHouse/pull/6442) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Где это уместно, перешли с `boost::filesystem` на `std::filesystem`. [#6253](https://github.com/ClickHouse/ClickHouse/pull/6253) [#6385](https://github.com/ClickHouse/ClickHouse/pull/6385) ([alexey-milovidov](https://github.com/alexey-milovidov))
* RPM-пакеты добавлены на сайт. [#6251](https://github.com/ClickHouse/ClickHouse/pull/6251) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен тест для исправленного исключения `Unknown identifier` в секции `IN`. [#6708](https://github.com/ClickHouse/ClickHouse/pull/6708) ([Artem Zuikov](https://github.com/4ertus2))
* Упростили `shared_ptr_helper`, так как многим было сложно понять, как он работает. [#6675](https://github.com/ClickHouse/ClickHouse/pull/6675) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены тесты производительности для исправленных кодеков Gorilla и DoubleDelta. [#6179](https://github.com/ClickHouse/ClickHouse/pull/6179) ([Vasily Nemkov](https://github.com/Enmk))
* Интеграционный тест `test_dictionaries` разделён на 4 отдельных теста. [#6776](https://github.com/ClickHouse/ClickHouse/pull/6776) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлено предупреждение PVS-Studio в `PipelineExecutor`. [#6777](https://github.com/ClickHouse/ClickHouse/pull/6777) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Разрешено использовать источник словаря `library` с ASan. [#6482](https://github.com/ClickHouse/ClickHouse/pull/6482) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена возможность генерировать список изменений по списку PR. [#6350](https://github.com/ClickHouse/ClickHouse/pull/6350) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Блокировка хранилища `TinyLog` при чтении. [#6226](https://github.com/ClickHouse/ClickHouse/pull/6226) ([akuzm](https://github.com/akuzm))
* Проверка на наличие битых символьных ссылок в CI. [#6634](https://github.com/ClickHouse/ClickHouse/pull/6634) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Увеличен тайм-аут для теста "stack overflow", поскольку в отладочной сборке его выполнение может занимать много времени. [#6637](https://github.com/ClickHouse/ClickHouse/pull/6637) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена проверка двойных пробелов. [#6643](https://github.com/ClickHouse/ClickHouse/pull/6643) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено отслеживание памяти для `new/delete` при сборке с санитайзерами. Это отслеживание не вполне прозрачно: оно лишь предотвращает исключения из-за лимита памяти в тестах. [#6450](https://github.com/ClickHouse/ClickHouse/pull/6450) ([Artem Zuikov](https://github.com/4ertus2))
* Вновь включена проверка неопределённых символов при линковке. [#6453](https://github.com/ClickHouse/ClickHouse/pull/6453) ([Ivan](https://github.com/abyss7))
* Убрана ежедневная пересборка `hyperscan`. [#6307](https://github.com/ClickHouse/ClickHouse/pull/6307) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, выявленная UBSan, в `ProtobufWriter`. [#6163](https://github.com/ClickHouse/ClickHouse/pull/6163) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Запрещено использовать профилировщик запросов с санитайзерами, поскольку они несовместимы. [#6769](https://github.com/ClickHouse/ClickHouse/pull/6769) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен тест на повторную загрузку словаря после сбоя по таймеру. [#6114](https://github.com/ClickHouse/ClickHouse/pull/6114) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлено несоответствие типа аргумента в `PipelineExecutor::prepareProcessor`. [#6494](https://github.com/ClickHouse/ClickHouse/pull/6494) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Добавлен тест для некорректных URI. [#6493](https://github.com/ClickHouse/ClickHouse/pull/6493) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены дополнительные проверки в функцию `CAST`. Это должно дать больше информации об ошибке сегментации в fuzzy-тесте. [#6346](https://github.com/ClickHouse/ClickHouse/pull/6346) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Добавлена поддержка `gcc-9` в контейнере `docker/builder`, который локально собирает образ. [#6333](https://github.com/ClickHouse/ClickHouse/pull/6333) ([Gleb Novikov](https://github.com/NanoBjorn))
* Тестирование первичного ключа с `LowCardinality(String)`. [#5044](https://github.com/ClickHouse/ClickHouse/issues/5044) [#6219](https://github.com/ClickHouse/ClickHouse/pull/6219) ([dimarub2000](https://github.com/dimarub2000))
* Исправлены тесты, затронутые медленным выводом трассировок стека. [#6315](https://github.com/ClickHouse/ClickHouse/pull/6315) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен тест для сбоя в `groupUniqArray`, исправленного в [#6029](https://github.com/ClickHouse/ClickHouse/pull/6029). [#4402](https://github.com/ClickHouse/ClickHouse/issues/4402) [#6129](https://github.com/ClickHouse/ClickHouse/pull/6129) ([akuzm](https://github.com/akuzm))
* Исправлены тесты мутаций индексов. [#6645](https://github.com/ClickHouse/ClickHouse/pull/6645) ([Nikita Vasilev](https://github.com/nikvas0))
* В тесте производительности не читать журнал запросов для тех запросов, которые мы не запускали. [#6427](https://github.com/ClickHouse/ClickHouse/pull/6427) ([akuzm](https://github.com/akuzm))
* materialized view теперь можно создавать с любыми типами LowCardinality независимо от настройки, связанной с подозрительными типами LowCardinality. [#6428](https://github.com/ClickHouse/ClickHouse/pull/6428) ([Olga Khvostikova](https://github.com/stavrolia))
* Обновлены тесты для параметра `send_logs_level`. [#6207](https://github.com/ClickHouse/ClickHouse/pull/6207) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлена сборка под gcc-8.2. [#6196](https://github.com/ClickHouse/ClickHouse/pull/6196) ([Max Akhmedov](https://github.com/zlobober))
* Исправлена сборка при использовании внутреннего libc++. [#6724](https://github.com/ClickHouse/ClickHouse/pull/6724) ([Ivan](https://github.com/abyss7))
* Исправлена сборка с общей библиотекой `rdkafka` [#6101](https://github.com/ClickHouse/ClickHouse/pull/6101) ([Ivan](https://github.com/abyss7))
* Исправления для сборки под Mac OS (неполные). [#6390](https://github.com/ClickHouse/ClickHouse/pull/6390) ([alexey-milovidov](https://github.com/alexey-milovidov)) [#6429](https://github.com/ClickHouse/ClickHouse/pull/6429) ([alex-zaitsev](https://github.com/alex-zaitsev))
* Исправлена сборка с разделением. [#6618](https://github.com/ClickHouse/ClickHouse/pull/6618) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Другие исправления сборки: [#6186](https://github.com/ClickHouse/ClickHouse/pull/6186) ([Amos Bird](https://github.com/amosbird)) [#6486](https://github.com/ClickHouse/ClickHouse/pull/6486) [#6348](https://github.com/ClickHouse/ClickHouse/pull/6348) ([vxider](https://github.com/Vxider)) [#6744](https://github.com/ClickHouse/ClickHouse/pull/6744) ([Ivan](https://github.com/abyss7)) [#6016](https://github.com/ClickHouse/ClickHouse/pull/6016) [#6421](https://github.com/ClickHouse/ClickHouse/pull/6421) [#6491](https://github.com/ClickHouse/ClickHouse/pull/6491) ([proller](https://github.com/proller))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* Удалены редко используемая табличная функция `catBoostPool` и хранилище `CatBoostPool`. Если вы использовали эту табличную функцию, напишите на `feedback@clickhouse.com`. Обратите внимание, что интеграция с CatBoost сохраняется и будет поддерживаться. [#6279](https://github.com/ClickHouse/ClickHouse/pull/6279) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `ANY RIGHT JOIN` и `ANY FULL JOIN` по умолчанию отключены. Чтобы включить их, задайте настройку `any_join_distinct_right_table_keys`. [#5126](https://github.com/ClickHouse/ClickHouse/issues/5126) [#6351](https://github.com/ClickHouse/ClickHouse/pull/6351) ([Artem Zuikov](https://github.com/4ertus2))

<div id="clickhouse-release-19-13">
  ## Релиз ClickHouse 19.13
</div>

<div id="clickhouse-release-19-13-6-51-2019-10-02">
  ### Релиз ClickHouse 19.13.6.51, 2019-10-02
</div>

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

* В этот выпуск также вошли все исправления ошибок из версии 19.11.12.69.

<div id="clickhouse-release-19-13-5-44-2019-09-20">
  ### Релиз ClickHouse 19.13.5.44, 2019-09-20
</div>

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

* Этот выпуск также содержит все исправления ошибок из 19.14.6.12.
* Исправлено возможное несогласованное состояние таблицы при выполнении запроса `DROP` для реплицируемой таблицы, когда ZooKeeper недоступен. [#6045](https://github.com/ClickHouse/ClickHouse/issues/6045) [#6413](https://github.com/ClickHouse/ClickHouse/pull/6413) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Исправлена возможная гонка данных в StorageMerge. [#6717](https://github.com/ClickHouse/ClickHouse/pull/6717) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка в профилировщике запросов, приводившая к бесконечному `recv` из сокета. [#6386](https://github.com/ClickHouse/ClickHouse/pull/6386) ([alesapin](https://github.com/alesapin))
* Исправлено чрезмерное использование CPU при выполнении функции `JSONExtractRaw` для логического значения. [#6208](https://github.com/ClickHouse/ClickHouse/pull/6208) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена регрессия при отправке данных в materialized view. [#6415](https://github.com/ClickHouse/ClickHouse/pull/6415) ([Ivan](https://github.com/abyss7))
* В табличной функции `url` была уязвимость, позволявшая злоумышленнику внедрять в запрос произвольные HTTP-заголовки. Эту проблему обнаружил [Nikita Tikhomirov](https://github.com/NSTikhomirov). [#6466](https://github.com/ClickHouse/ClickHouse/pull/6466) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена бесполезная проверка `AST` в индексе Set. [#6510](https://github.com/ClickHouse/ClickHouse/issues/6510) [#6651](https://github.com/ClickHouse/ClickHouse/pull/6651) ([Nikita Vasilev](https://github.com/nikvas0))
* Исправлен разбор значений `AggregateFunction`, встроенных в запрос. [#6575](https://github.com/ClickHouse/ClickHouse/issues/6575) [#6773](https://github.com/ClickHouse/ClickHouse/pull/6773) ([Zhichang Yu](https://github.com/yuzhichang))
* Исправлено некорректное поведение семейства функций `trim`. [#6647](https://github.com/ClickHouse/ClickHouse/pull/6647) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-13-4-32-2019-09-10">
  ### Релиз ClickHouse 19.13.4.32, 2019-09-10
</div>

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

* Этот релиз также содержит все исправления ошибок безопасности из версий 19.11.9.52 и 19.11.10.54.
* Исправлена гонка данных в таблице `system.parts` и в запросе `ALTER`. [#6245](https://github.com/ClickHouse/ClickHouse/issues/6245) [#6513](https://github.com/ClickHouse/ClickHouse/pull/6513) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено несоответствие заголовков в потоках, возникавшее при чтении из пустой distributed таблицы с `sample` и `prewhere`. [#6167](https://github.com/ClickHouse/ClickHouse/issues/6167) ([Lixiang Qian](https://github.com/fancyqlx)) [#6823](https://github.com/ClickHouse/ClickHouse/pull/6823) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен сбой при использовании условия `IN` с подзапросом с кортежем. [#6125](https://github.com/ClickHouse/ClickHouse/issues/6125) [#6550](https://github.com/ClickHouse/ClickHouse/pull/6550) ([tavplubix](https://github.com/tavplubix))
* Исправлен случай с одинаковыми именами столбцов в секции `GLOBAL JOIN ON`. [#6181](https://github.com/ClickHouse/ClickHouse/pull/6181) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлен сбой при приведении к `Decimal` типов, которые этого не поддерживают. Вместо этого теперь генерируется исключение. [#6297](https://github.com/ClickHouse/ClickHouse/pull/6297) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлен сбой в функции `extractAll()`. [#6644](https://github.com/ClickHouse/ClickHouse/pull/6644) ([Artem Zuikov](https://github.com/4ertus2))
* Преобразование запросов для табличных функций `MySQL`, `ODBC`, `JDBC` теперь корректно работает для запросов `SELECT ... WHERE` с несколькими выражениями `AND`. [#6381](https://github.com/ClickHouse/ClickHouse/issues/6381) [#6676](https://github.com/ClickHouse/ClickHouse/pull/6676) ([dimarub2000](https://github.com/dimarub2000))
* Добавлены проверки предыдущих объявлений для интеграции с MySQL 8. [#6569](https://github.com/ClickHouse/ClickHouse/pull/6569) ([Rafael David Tinoco](https://github.com/rafaeldtinoco))

<div id="security-fix-1">
  #### Исправление уязвимости
</div>

* Исправлены две уязвимости в кодеках на этапе распаковки (злоумышленник может сформировать специально подготовленные сжатые данные, что приведёт к переполнению буфера при распаковке). [#6670](https://github.com/ClickHouse/ClickHouse/pull/6670) ([Artem Zuikov](https://github.com/4ertus2))

<div id="clickhouse-release-19-13-3-26-2019-08-22">
  ### Релиз ClickHouse 19.13.3.26, 2019-08-22
</div>

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

* Исправлен запрос `ALTER TABLE ... UPDATE` для таблиц с `enable_mixed_granularity_parts=1`. [#6543](https://github.com/ClickHouse/ClickHouse/pull/6543) ([alesapin](https://github.com/alesapin))
* Исправлен NPE при использовании оператора IN с подзапросом, возвращающим кортеж. [#6125](https://github.com/ClickHouse/ClickHouse/issues/6125) [#6550](https://github.com/ClickHouse/ClickHouse/pull/6550) ([tavplubix](https://github.com/tavplubix))
* Исправлена проблема, из-за которой устаревшая реплика после восстановления могла по-прежнему содержать части данных, удалённые командой DROP PARTITION. [#6522](https://github.com/ClickHouse/ClickHouse/issues/6522) [#6523](https://github.com/ClickHouse/ClickHouse/pull/6523) ([tavplubix](https://github.com/tavplubix))
* Исправлена проблема с разбором CSV. [#6426](https://github.com/ClickHouse/ClickHouse/issues/6426) [#6559](https://github.com/ClickHouse/ClickHouse/pull/6559) ([tavplubix](https://github.com/tavplubix))
* Исправлено состояние гонки в таблице system.parts и запросе ALTER. Это исправление устраняет [#6245](https://github.com/ClickHouse/ClickHouse/issues/6245). [#6513](https://github.com/ClickHouse/ClickHouse/pull/6513) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен некорректный код в мутациях, который мог приводить к повреждению памяти. Исправлен segfault при чтении по адресу `0x14c0`, который мог происходить из-за одновременного выполнения `DROP TABLE` и `SELECT` из `system.parts` или `system.parts_columns`. Исправлено состояние гонки при подготовке запросов мутации. Исправлена взаимная блокировка, вызванная `OPTIMIZE` таблиц Replicated и одновременными операциями модификации, такими как ALTER. [#6514](https://github.com/ClickHouse/ClickHouse/pull/6514) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена возможная потеря данных после запроса `ALTER DELETE` для таблицы с индексом пропуска данных. [#6224](https://github.com/ClickHouse/ClickHouse/issues/6224) [#6282](https://github.com/ClickHouse/ClickHouse/pull/6282) ([Nikita Vasilev](https://github.com/nikvas0))

<div id="security-fix-1">
  #### Исправление уязвимости
</div>

* Если у атакующего есть доступ на запись в ZooKeeper и возможность запустить собственный сервер, доступный из той же сети, где работает ClickHouse, он может создать специально подготовленный вредоносный сервер, который будет выдавать себя за реплику ClickHouse, и зарегистрировать его в ZooKeeper. Когда другая реплика будет получать часть данных с вредоносной реплики, это может заставить clickhouse-server записать данные по произвольному пути в файловой системе. Обнаружено Eldar Zaitov из команды информационной безопасности Yandex. [#6247](https://github.com/ClickHouse/ClickHouse/pull/6247) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-13-2-19-2019-08-14">
  ### Релиз ClickHouse 19.13.2.19, 2019-08-14
</div>

<div id="new-feature">
  #### Новая возможность
</div>

* Профилировщик со сэмплированием на уровне запроса. [Пример](https://gist.github.com/alexey-milovidov/92758583dd41c24c360fdb8d6a4da194). [#4247](https://github.com/ClickHouse/ClickHouse/issues/4247) ([laplab](https://github.com/laplab)) [#6124](https://github.com/ClickHouse/ClickHouse/pull/6124) ([alexey-milovidov](https://github.com/alexey-milovidov)) [#6250](https://github.com/ClickHouse/ClickHouse/pull/6250) [#6283](https://github.com/ClickHouse/ClickHouse/pull/6283) [#6386](https://github.com/ClickHouse/ClickHouse/pull/6386)
* Разрешено указывать список столбцов с помощью выражения `COLUMNS('regexp')`, которое работает как более продвинутый вариант символа `*`. [#5951](https://github.com/ClickHouse/ClickHouse/pull/5951) ([mfridental](https://github.com/mfridental)), ([alexey-milovidov](https://github.com/alexey-milovidov))
* Теперь можно использовать `CREATE TABLE AS table_function()` [#6057](https://github.com/ClickHouse/ClickHouse/pull/6057) ([dimarub2000](https://github.com/dimarub2000))
* Оптимизатор Adam для стохастического градиентного спуска теперь используется по умолчанию в агрегатных функциях `stochasticLinearRegression()` и `stochasticLogisticRegression()`, поскольку он обеспечивает хорошее качество почти без дополнительной настройки. [#6000](https://github.com/ClickHouse/ClickHouse/pull/6000) ([Quid37](https://github.com/Quid37))
* Добавлены функции для работы с пользовательским номером недели [#5212](https://github.com/ClickHouse/ClickHouse/pull/5212) ([Andy Yang](https://github.com/andyyzh))
* Запросы `RENAME` теперь работают со всеми хранилищами. [#5953](https://github.com/ClickHouse/ClickHouse/pull/5953) ([Ivan](https://github.com/abyss7))
* Теперь клиент может получать журналы сервера любого нужного уровня с помощью настройки `send_logs_level`, независимо от уровня журналирования, указанного в настройках сервера. [#5964](https://github.com/ClickHouse/ClickHouse/pull/5964) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* Параметр `input_format_defaults_for_omitted_fields` включен по умолчанию. Для вставки в таблицы Distributed требуется, чтобы значение этого параметра было одинаковым во всем кластере (его нужно установить перед rolling update). Он включает вычисление сложных выражений по умолчанию для пропущенных полей в форматах `JSONEachRow` и `CSV*`. Это ожидаемое поведение, но оно может привести к незначительному изменению производительности. [#6043](https://github.com/ClickHouse/ClickHouse/pull/6043) ([Artem Zuikov](https://github.com/4ertus2)), [#5625](https://github.com/ClickHouse/ClickHouse/pull/5625) ([akuzm](https://github.com/akuzm))

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

* Новый конвейер обработки запросов. Чтобы включить его, используйте параметр `experimental_use_processors=1`. Используйте на свой страх и риск. [#4914](https://github.com/ClickHouse/ClickHouse/pull/4914) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

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

* В этой версии исправлена интеграция Kafka.
* Исправлено кодирование `DoubleDelta` для `Int64` при больших значениях `DoubleDelta`; также улучшено кодирование `DoubleDelta` для случайных данных с `Int32`. [#5998](https://github.com/ClickHouse/ClickHouse/pull/5998) ([Vasily Nemkov](https://github.com/Enmk))
* Исправлена завышенная оценка `max_rows_to_read`, если настройка `merge_tree_uniform_read_distribution` установлена в 0. [#6019](https://github.com/ClickHouse/ClickHouse/pull/6019) ([alexey-milovidov](https://github.com/alexey-milovidov))

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

* Генерирует исключение, если в файле `config.d` отсутствует корневой элемент, соответствующий файлу конфигурации [#6123](https://github.com/ClickHouse/ClickHouse/pull/6123) ([dimarub2000](https://github.com/dimarub2000))

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

* Оптимизирован `count()`. Теперь он использует наименьший столбец (если это возможно). [#6028](https://github.com/ClickHouse/ClickHouse/pull/6028) ([Amos Bird](https://github.com/amosbird))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Добавлен отчёт об использовании памяти в тестах производительности. [#5899](https://github.com/ClickHouse/ClickHouse/pull/5899) ([akuzm](https://github.com/akuzm))
* Исправлена сборка с внешней библиотекой `libcxx` [#6010](https://github.com/ClickHouse/ClickHouse/pull/6010) ([Ivan](https://github.com/abyss7))
* Исправлена динамическая сборка с библиотекой `rdkafka` [#6101](https://github.com/ClickHouse/ClickHouse/pull/6101) ([Ivan](https://github.com/abyss7))

<div id="clickhouse-release-19-11">
  ## Релиз ClickHouse 19.11
</div>

<div id="clickhouse-release-19-11-13-74-2019-11-01">
  ### Релиз ClickHouse 19.11.13.74, 2019-11-01
</div>

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

* Исправлено редкое аварийное завершение в `ALTER MODIFY COLUMN` и при вертикальном слиянии, когда одна из сливаемых или изменяемых частей пуста (0 строк). [#6780](https://github.com/ClickHouse/ClickHouse/pull/6780) ([alesapin](https://github.com/alesapin))
* Ручное обновление `SIMDJSON`. Это устраняет возможное засорение файлов stderr ложными диагностическими сообщениями JSON. [#7548](https://github.com/ClickHouse/ClickHouse/pull/7548) ([Alexander Kazakov](https://github.com/Akazz))
* Исправлена ошибка с расширением файла `mrk` для мутаций ([alesapin](https://github.com/alesapin))

<div id="clickhouse-release-19-11-12-69-2019-10-02">
  ### Релиз ClickHouse 19.11.12.69, 2019-10-02
</div>

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

* Устранена деградация производительности анализа индексов для сложных ключей в больших таблицах. Это исправляет [#6924](https://github.com/ClickHouse/ClickHouse/issues/6924). [#7075](https://github.com/ClickHouse/ClickHouse/pull/7075) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Устранён редкий SIGSEGV при отправке данных в таблицах с движком Distributed (`Failed to send batch: file with index XXXXX is absent`). [#7032](https://github.com/ClickHouse/ClickHouse/pull/7032) ([Azat Khuzhin](https://github.com/azat))
* Исправлена ошибка `Unknown identifier` в запросах с несколькими JOIN. Это исправляет [#5254](https://github.com/ClickHouse/ClickHouse/issues/5254). [#7022](https://github.com/ClickHouse/ClickHouse/pull/7022) ([Artem Zuikov](https://github.com/4ertus2))

<div id="clickhouse-release-19-11-11-57-2019-09-13">
  ### Релиз ClickHouse 19.11.11.57, 2019-09-13
</div>

* Исправлена логическая ошибка, вызывавшая segfault при выборке из пустого топика Kafka. [#6902](https://github.com/ClickHouse/ClickHouse/issues/6902) [#6909](https://github.com/ClickHouse/ClickHouse/pull/6909) ([Ivan](https://github.com/abyss7))
* Исправлена функция `АrrayEnumerateUniqRanked` для случая с пустыми массивами в параметрах. [#6928](https://github.com/ClickHouse/ClickHouse/pull/6928) ([proller](https://github.com/proller))

<div id="clickhouse-release-19-11-10-54-2019-09-10">
  ### Релиз ClickHouse 19.11.10.54, 2019-09-10
</div>

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

* Смещения сообщений Kafka теперь сохраняются вручную, чтобы можно было зафиксировать их все разом для всех партиций. Это устраняет возможное дублирование в сценарии «один консьюмер — много партиций». [#6872](https://github.com/ClickHouse/ClickHouse/pull/6872) ([Ivan](https://github.com/abyss7))

<div id="clickhouse-release-19-11-9-52-2019-09-6">
  ### Релиз ClickHouse 19.11.9.52, 2019-09-6
</div>

* Улучшена обработка ошибок в словарях cache. [#6737](https://github.com/ClickHouse/ClickHouse/pull/6737) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена ошибка в функции `arrayEnumerateUniqRanked`. [#6779](https://github.com/ClickHouse/ClickHouse/pull/6779) ([proller](https://github.com/proller))
* Исправлена работа функции `JSONExtract` при извлечении `Tuple` из JSON. [#6718](https://github.com/ClickHouse/ClickHouse/pull/6718) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена возможная потеря данных после запроса `ALTER DELETE` к таблице с индексом пропуска данных. [#6224](https://github.com/ClickHouse/ClickHouse/issues/6224) [#6282](https://github.com/ClickHouse/ClickHouse/pull/6282) ([Nikita Vasilev](https://github.com/nikvas0))
* Исправлен тест производительности. [#6392](https://github.com/ClickHouse/ClickHouse/pull/6392) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Parquet: исправлено чтение булевых столбцов. [#6579](https://github.com/ClickHouse/ClickHouse/pull/6579) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено некорректное поведение функции `nullIf` для константных аргументов. [#6518](https://github.com/ClickHouse/ClickHouse/pull/6518) ([Guillaume Tassery](https://github.com/YiuRULE)) [#6580](https://github.com/ClickHouse/ClickHouse/pull/6580) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена проблема с дублированием сообщений Kafka при обычном перезапуске сервера. [#6597](https://github.com/ClickHouse/ClickHouse/pull/6597) ([Ivan](https://github.com/abyss7))
* Исправлена проблема, из-за которой длительные `ALTER UPDATE` или `ALTER DELETE` могли мешать выполнению обычных слияний. Мутации теперь не выполняются, если недостаточно свободных потоков. [#6502](https://github.com/ClickHouse/ClickHouse/issues/6502) [#6617](https://github.com/ClickHouse/ClickHouse/pull/6617) ([tavplubix](https://github.com/tavplubix))
* Исправлена ошибка при обработке "timezone" в файле конфигурации сервера. [#6709](https://github.com/ClickHouse/ClickHouse/pull/6709) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены тесты Kafka. [#6805](https://github.com/ClickHouse/ClickHouse/pull/6805) ([Ivan](https://github.com/abyss7))

<div id="security-fix-1">
  #### Исправление уязвимости
</div>

* Если у злоумышленника есть доступ на запись в ZooKeeper и он может запустить произвольный сервер, доступный из сети, в которой работает ClickHouse, он может создать специально подготовленный вредоносный сервер, который будет выдавать себя за реплику ClickHouse, и зарегистрировать его в ZooKeeper. Когда другая реплика будет получать часть данных от вредоносной реплики, та сможет заставить clickhouse-server записывать данные по произвольному пути в файловой системе. Обнаружено Eldar Zaitov, командой информационной безопасности Yandex. [#6247](https://github.com/ClickHouse/ClickHouse/pull/6247) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-11-8-46-2019-08-22">
  ### Релиз ClickHouse 19.11.8.46, 2019-08-22
</div>

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

* Исправлен запрос `ALTER TABLE ... UPDATE` для таблиц с `enable_mixed_granularity_parts=1`. [#6543](https://github.com/ClickHouse/ClickHouse/pull/6543) ([alesapin](https://github.com/alesapin))
* Исправлен NPE при использовании оператора IN с подзапросом, содержащим кортеж. [#6125](https://github.com/ClickHouse/ClickHouse/issues/6125) [#6550](https://github.com/ClickHouse/ClickHouse/pull/6550) ([tavplubix](https://github.com/tavplubix))
* Исправлена проблема, из-за которой устаревшая реплика после восстановления могла по-прежнему содержать части данных, удалённые командой DROP PARTITION. [#6522](https://github.com/ClickHouse/ClickHouse/issues/6522) [#6523](https://github.com/ClickHouse/ClickHouse/pull/6523) ([tavplubix](https://github.com/tavplubix))
* Исправлена проблема с разбором CSV. [#6426](https://github.com/ClickHouse/ClickHouse/issues/6426) [#6559](https://github.com/ClickHouse/ClickHouse/pull/6559) ([tavplubix](https://github.com/tavplubix))
* Исправлено состояние гонки в таблице system.parts и в запросе ALTER. Это исправление для [#6245](https://github.com/ClickHouse/ClickHouse/issues/6245). [#6513](https://github.com/ClickHouse/ClickHouse/pull/6513) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен некорректный код в мутациях, который мог приводить к повреждению памяти. Исправлен segfault при чтении по адресу `0x14c0`, который мог происходить из-за параллельных `DROP TABLE` и `SELECT` из `system.parts` или `system.parts_columns`. Исправлено состояние гонки при подготовке запросов мутации. Исправлена взаимная блокировка, вызванная `OPTIMIZE` таблиц Replicated и параллельными операциями изменения, такими как ALTER. [#6514](https://github.com/ClickHouse/ClickHouse/pull/6514) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-11-7-40-2019-08-14">
  ### Релиз ClickHouse 19.11.7.40, 2019-08-14
</div>

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

* В этой версии исправлена интеграция с Kafka.
* Исправлен segfault при использовании `arrayReduce` с константными аргументами. [#6326](https://github.com/ClickHouse/ClickHouse/pull/6326) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена монотонность функции `toFloat()`. [#6374](https://github.com/ClickHouse/ClickHouse/pull/6374) ([dimarub2000](https://github.com/dimarub2000))
* Исправлен segfault при включенном `optimize_skip_unused_shards` и отсутствующем ключе сегментирования. [#6384](https://github.com/ClickHouse/ClickHouse/pull/6384) ([CurtizJ](https://github.com/CurtizJ))
* Исправлена логика функции `arrayEnumerateUniqRanked`. [#6423](https://github.com/ClickHouse/ClickHouse/pull/6423) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Из обработчика MySQL удалено избыточно подробное логирование. [#6389](https://github.com/ClickHouse/ClickHouse/pull/6389) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены некорректное поведение и возможные segfault в агрегатных функциях `topK` и `topKWeighted`. [#6404](https://github.com/ClickHouse/ClickHouse/pull/6404) ([CurtizJ](https://github.com/CurtizJ))
* Виртуальные столбцы больше не отображаются в таблице `system.columns`. Это требуется для обратной совместимости. [#6406](https://github.com/ClickHouse/ClickHouse/pull/6406) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка выделения памяти для строковых полей в словаре cache с составным ключом. [#6447](https://github.com/ClickHouse/ClickHouse/pull/6447) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка при включении adaptive granularity при создании новой реплики для таблицы `Replicated*MergeTree`. [#6452](https://github.com/ClickHouse/ClickHouse/pull/6452) ([alesapin](https://github.com/alesapin))
* Исправлен бесконечный цикл при чтении сообщений Kafka. [#6354](https://github.com/ClickHouse/ClickHouse/pull/6354) ([abyss7](https://github.com/abyss7))
* Устранена возможность того, что специально сформированный запрос мог вызвать сбой сервера из-за переполнения стека в SQL-парсере, а также возможность переполнения стека в таблицах `Merge` и `Distributed` [#6433](https://github.com/ClickHouse/ClickHouse/pull/6433) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка кодирования Gorilla на коротких последовательностях. [#6444](https://github.com/ClickHouse/ClickHouse/pull/6444) ([Enmk](https://github.com/Enmk))

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

* Пользователь может переопределять настройки `poll_interval` и `idle_connection_timeout` для подключения. [#6230](https://github.com/ClickHouse/ClickHouse/pull/6230) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-11-5-28-2019-08-05">
  ### Релиз ClickHouse 19.11.5.28, 2019-08-05
</div>

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

* Устранена возможность зависания запросов при перегрузке сервера. [#6301](https://github.com/ClickHouse/ClickHouse/pull/6301) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен FPE в функции yandexConsistentHash. Исправлена проблема [#6304](https://github.com/ClickHouse/ClickHouse/issues/6304). [#6126](https://github.com/ClickHouse/ClickHouse/pull/6126) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка при преобразовании типов `LowCardinality` в `AggregateFunctionFactory`. Исправлена проблема [#6257](https://github.com/ClickHouse/ClickHouse/issues/6257). [#6281](https://github.com/ClickHouse/ClickHouse/pull/6281) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен разбор настроек `bool` из строк `true` и `false` в файлах конфигурации. [#6278](https://github.com/ClickHouse/ClickHouse/pull/6278) ([alesapin](https://github.com/alesapin))
* Исправлена редкая ошибка с несовместимыми заголовками потока в запросах к таблице `Distributed`, построенной поверх таблицы `MergeTree`, когда часть `WHERE` переносится в `PREWHERE`. [#6236](https://github.com/ClickHouse/ClickHouse/pull/6236) ([alesapin](https://github.com/alesapin))
* Исправлено переполнение при целочисленном делении значения знакового типа на беззнаковый тип. Исправлена проблема [#6214](https://github.com/ClickHouse/ClickHouse/issues/6214). [#6233](https://github.com/ClickHouse/ClickHouse/pull/6233) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* `Kafka` всё ещё не работает.

<div id="clickhouse-release-19-11-4-24-2019-08-01">
  ### Релиз ClickHouse 19.11.4.24, 2019-08-01
</div>

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

* Исправлена ошибка при записи меток вторичных индексов с адаптивной гранулярностью. [#6126](https://github.com/ClickHouse/ClickHouse/pull/6126) ([alesapin](https://github.com/alesapin))
* Исправлены модификаторы `WITH ROLLUP` и `WITH CUBE` в `GROUP BY` при двухуровневой агрегации. [#6225](https://github.com/ClickHouse/ClickHouse/pull/6225) ([Anton Popov](https://github.com/CurtizJ))
* Исправлено зависание в функции `JSONExtractRaw`. Исправлено [#6195](https://github.com/ClickHouse/ClickHouse/issues/6195) [#6198](https://github.com/ClickHouse/ClickHouse/pull/6198) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен segfault в ExternalLoader::reloadOutdated(). [#6082](https://github.com/ClickHouse/ClickHouse/pull/6082) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлен случай, когда сервер мог закрыть прослушивающие сокеты, но не завершиться и продолжить обрабатывать оставшиеся запросы. В результате могли одновременно работать два процесса clickhouse-server. Иногда сервер мог возвращать ошибку `bad_function_call` для оставшихся запросов. [#6231](https://github.com/ClickHouse/ClickHouse/pull/6231) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено бесполезное и некорректное условие для поля update при первоначальной загрузке внешних словарей через ODBC, MySQL, ClickHouse и HTTP. Это исправляет [#6069](https://github.com/ClickHouse/ClickHouse/issues/6069) [#6083](https://github.com/ClickHouse/ClickHouse/pull/6083) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено лишнее исключение при приведении `LowCardinality(Nullable)` к столбцу не-Nullable, если он не содержит значений NULL (например, в запросе вида `SELECT CAST(CAST('Hello' AS LowCardinality(Nullable(String))) AS String)`. [#6094](https://github.com/ClickHouse/ClickHouse/issues/6094) [#6119](https://github.com/ClickHouse/ClickHouse/pull/6119) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен недетерминированный результат агрегатной функции "uniq" в крайне редких случаях. Ошибка присутствовала во всех версиях ClickHouse. [#6058](https://github.com/ClickHouse/ClickHouse/pull/6058) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Segfault при установке слишком большого значения CIDR для функции `IPv6CIDRToRange`. [#6068](https://github.com/ClickHouse/ClickHouse/pull/6068) ([Guillaume Tassery](https://github.com/YiuRULE))
* Исправлена небольшая утечка памяти, возникавшая, когда сервер генерировал много исключений из множества разных контекстов. [#6144](https://github.com/ClickHouse/ClickHouse/pull/6144) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ситуация, когда consumer был приостановлен до subscription и после этого не возобновлялся. [#6075](https://github.com/ClickHouse/ClickHouse/pull/6075) ([Ivan](https://github.com/abyss7)) Обратите внимание, что Kafka в этой версии не работает.
* Очищается буфер данных Kafka от предыдущей операции чтения, завершившейся ошибкой [#6026](https://github.com/ClickHouse/ClickHouse/pull/6026) ([Nikolay](https://github.com/bopohaa)) Обратите внимание, что Kafka в этой версии не работает.
* Поскольку `StorageMergeTree::background_task_handle` инициализируется в `startup()`, `MergeTreeBlockOutputStream::write()` может попытаться использовать его до инициализации. Нужно просто проверить, инициализирован ли он. [#6080](https://github.com/ClickHouse/ClickHouse/pull/6080) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvement-6">
  #### Улучшения сборки/тестирования/пакетирования
</div>

* Добавлены официальные пакеты `rpm`. [#5740](https://github.com/ClickHouse/ClickHouse/pull/5740) ([proller](https://github.com/proller)) ([alesapin](https://github.com/alesapin))
* Добавлена возможность собирать пакеты `.rpm` и `.tgz` с помощью скрипта `packager`. [#5769](https://github.com/ClickHouse/ClickHouse/pull/5769) ([alesapin](https://github.com/alesapin))
* Исправления в системе сборки Arcadia. [#6223](https://github.com/ClickHouse/ClickHouse/pull/6223) ([proller](https://github.com/proller))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* `Kafka` не работает в этой версии.

<div id="clickhouse-release-19-11-3-11-2019-07-18">
  ### Релиз ClickHouse 19.11.3.11, 2019-07-18
</div>

<div id="new-feature">
  #### Новая возможность
</div>

* Добавлена поддержка подготовленных операторов. [#5331](https://github.com/ClickHouse/ClickHouse/pull/5331/) ([Alexander](https://github.com/sanych73)) [#5630](https://github.com/ClickHouse/ClickHouse/pull/5630) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены кодеки столбцов `DoubleDelta` и `Gorilla` [#5600](https://github.com/ClickHouse/ClickHouse/pull/5600) ([Vasily Nemkov](https://github.com/Enmk))
* Добавлена настройка `os_thread_priority`, которая позволяет управлять значением "nice" у потоков обработки запросов, используемым ОС для настройки приоритета динамического планирования. Для ее работы требуются привилегии `CAP_SYS_NICE`. Реализовано в рамках [#5858](https://github.com/ClickHouse/ClickHouse/issues/5858) [#5909](https://github.com/ClickHouse/ClickHouse/pull/5909) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Реализованы столбцы `_topic`, `_offset`, `_key` для движка Kafka [#5382](https://github.com/ClickHouse/ClickHouse/pull/5382) ([Ivan](https://github.com/abyss7)) Обратите внимание, что Kafka не работает в этой версии.
* Добавлен комбинатор агрегатной функции `-Resample` [#5590](https://github.com/ClickHouse/ClickHouse/pull/5590) ([hcz](https://github.com/hczhcz))
* Добавлены агрегатные функции `groupArrayMovingSum(win_size)(x)` и `groupArrayMovingAvg(win_size)(x)`, которые вычисляют скользящую сумму/среднее с ограничением размера окна и без него. [#5595](https://github.com/ClickHouse/ClickHouse/pull/5595) ([inv2004](https://github.com/inv2004))
* Добавлен синоним `arrayFlatten` \<-> `flatten` [#5764](https://github.com/ClickHouse/ClickHouse/pull/5764) ([hcz](https://github.com/hczhcz))
* Интегрирована H3-функция `geoToH3` от Uber. [#4724](https://github.com/ClickHouse/ClickHouse/pull/4724) ([Remen Ivan](https://github.com/BHYCHIK)) [#5805](https://github.com/ClickHouse/ClickHouse/pull/5805) ([alexey-milovidov](https://github.com/alexey-milovidov))

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

* Реализован DNS-кэш с асинхронным обновлением. Отдельный поток разрешает имена всех хостов и с заданной периодичностью обновляет DNS-кэш (настройка `dns_cache_update_period`). Это должно помочь, если IP-адреса хостов часто меняются. [#5857](https://github.com/ClickHouse/ClickHouse/pull/5857) ([Anton Popov](https://github.com/CurtizJ))
* Исправлен segfault в кодеке `Delta`, который затрагивал столбцы со значениями размером менее 32 бит. Ошибка приводила к случайному повреждению памяти. [#5786](https://github.com/ClickHouse/ClickHouse/pull/5786) ([alesapin](https://github.com/alesapin))
* Исправлен segfault при TTL-слиянии с нефизическими столбцами в блоке. [#5819](https://github.com/ClickHouse/ClickHouse/pull/5819) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена редкая ошибка при проверке части со столбцом `LowCardinality`. Ранее проверка `checkDataPart` всегда завершалась ошибкой для части со столбцом `LowCardinality`. [#5832](https://github.com/ClickHouse/ClickHouse/pull/5832) ([alesapin](https://github.com/alesapin))
* Предотвращено зависание соединений, когда пул потоков сервера переполнен. Это важно для соединений из табличной функции `remote` или соединений с сегментом без реплик при длительном тайм-ауте соединения. Исправлено в [#5878](https://github.com/ClickHouse/ClickHouse/issues/5878) [#5881](https://github.com/ClickHouse/ClickHouse/pull/5881) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Поддержка константных аргументов в функции `evalMLModel`. Исправлено в [#5817](https://github.com/ClickHouse/ClickHouse/issues/5817) [#5820](https://github.com/ClickHouse/ClickHouse/pull/5820) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена проблема, из-за которой ClickHouse определял часовой пояс по умолчанию как `UCT` вместо `UTC`. Это исправление для [#5804](https://github.com/ClickHouse/ClickHouse/issues/5804). [#5828](https://github.com/ClickHouse/ClickHouse/pull/5828) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен выход за нижнюю границу буфера в `visitParamExtractRaw`. Это исправляет [#5901](https://github.com/ClickHouse/ClickHouse/issues/5901) [#5902](https://github.com/ClickHouse/ClickHouse/pull/5902) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Теперь распределённые запросы `DROP/ALTER/TRUNCATE/OPTIMIZE ON CLUSTER` будут выполняться напрямую на реплике-лидере. [#5757](https://github.com/ClickHouse/ClickHouse/pull/5757) ([alesapin](https://github.com/alesapin))
* Исправлена работа `coalesce` для `ColumnConst` с `ColumnNullable` + связанные изменения. [#5755](https://github.com/ClickHouse/ClickHouse/pull/5755) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлен `ReadBufferFromKafkaConsumer`: теперь после `commit()` он продолжает читать новые сообщения, даже если до этого зависал [#5852](https://github.com/ClickHouse/ClickHouse/pull/5852) ([Ivan](https://github.com/abyss7))
* Исправлены результаты `FULL` и `RIGHT` JOIN при выполнении JOIN по ключам `Nullable` в правой таблице. [#5859](https://github.com/ClickHouse/ClickHouse/pull/5859) ([Artem Zuikov](https://github.com/4ertus2))
* Возможно, исправлено бесконечное ожидание низкоприоритетных запросов. [#5842](https://github.com/ClickHouse/ClickHouse/pull/5842) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено состояние гонки, из-за которого некоторые запросы могли не попадать в query\_log после выполнения запроса `SYSTEM FLUSH LOGS`. [#5456](https://github.com/ClickHouse/ClickHouse/issues/5456) [#5685](https://github.com/ClickHouse/ClickHouse/pull/5685) ([Anton Popov](https://github.com/CurtizJ))
* Исправлено предупреждение ASan `heap-use-after-free` в ClusterCopier из-за наблюдения, которое пыталось использовать уже удалённый объект copier. [#5871](https://github.com/ClickHouse/ClickHouse/pull/5871) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен неверный указатель `StringRef`, возвращаемый некоторыми реализациями `IColumn::deserializeAndInsertFromArena`. Эта ошибка влияла только на модульные тесты. [#5973](https://github.com/ClickHouse/ClickHouse/pull/5973) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Предотвращено маскирование одноимённых столбцов исходными и промежуточными столбцами ARRAY JOIN. [#5941](https://github.com/ClickHouse/ClickHouse/pull/5941) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлены операции вставки и запросы select к движку MySQL при экранировании идентификаторов в стиле MySQL. [#5704](https://github.com/ClickHouse/ClickHouse/pull/5704) ([Winter Zhang](https://github.com/zhang2014))
* Теперь запрос `CHECK TABLE` может работать с семейством движков MergeTree. Он возвращает статус проверки и, если есть, сообщение для каждой части (или файла в случае более простых движков). Также исправлена ошибка при получении повреждённой части. [#5865](https://github.com/ClickHouse/ClickHouse/pull/5865) ([alesapin](https://github.com/alesapin))
* Исправлен runtime для SPLIT\_SHARED\_LIBRARIES [#5793](https://github.com/ClickHouse/ClickHouse/pull/5793) ([Danila Kutenin](https://github.com/danlark1))
* Исправлена инициализация часового пояса в случае, когда `/etc/localtime` является относительной символической ссылкой, например `../usr/share/zoneinfo/Asia/Istanbul` [#5922](https://github.com/ClickHouse/ClickHouse/pull/5922) ([alexey-milovidov](https://github.com/alexey-milovidov))
* clickhouse-copier: Исправлена ошибка use-after-free при завершении работы [#5752](https://github.com/ClickHouse/ClickHouse/pull/5752) ([proller](https://github.com/proller))
* Обновлён `simdjson`. Исправлена проблема, из-за которой некоторые некорректные JSON-документы, содержащие нулевые байты, успешно разбирались. [#5938](https://github.com/ClickHouse/ClickHouse/pull/5938) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено завершение работы SystemLogs [#5802](https://github.com/ClickHouse/ClickHouse/pull/5802) ([Anton Popov](https://github.com/CurtizJ))
* Исправлено зависание, если условие в invalidate\_query зависит от словаря. [#6011](https://github.com/ClickHouse/ClickHouse/pull/6011) ([Vitaly Baranov](https://github.com/vitlibar))

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

* Разрешить использование неразрешимых адресов в конфигурации кластера. Они будут считаться недоступными, и попытка разрешить их будет предприниматься при каждом подключении. Это особенно полезно для Kubernetes. Это исправляет [#5714](https://github.com/ClickHouse/ClickHouse/issues/5714) [#5924](https://github.com/ClickHouse/ClickHouse/pull/5924) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Закрытие бездействующих TCP-соединений (по умолчанию с тайм-аутом в один час). Это особенно важно для крупных кластеров с несколькими распределёнными таблицами на каждом сервере, поскольку каждый сервер потенциально может держать пул соединений с каждым другим сервером, и после пикового параллелизма запросов эти соединения будут простаивать. Это исправляет [#5879](https://github.com/ClickHouse/ClickHouse/issues/5879) [#5880](https://github.com/ClickHouse/ClickHouse/pull/5880) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Улучшено качество работы функции `topK`. Изменено поведение набора SavingSpace: теперь последний элемент удаляется, если новый элемент имеет больший вес. [#5833](https://github.com/ClickHouse/ClickHouse/issues/5833) [#5850](https://github.com/ClickHouse/ClickHouse/pull/5850) ([Guillaume Tassery](https://github.com/YiuRULE))
* URL-функции для работы с доменами теперь поддерживают неполные URL без схемы [#5725](https://github.com/ClickHouse/ClickHouse/pull/5725) ([alesapin](https://github.com/alesapin))
* В таблицу `system.parts_columns` добавлены хеш-суммы. [#5874](https://github.com/ClickHouse/ClickHouse/pull/5874) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Добавлен тип данных `Enum` как синоним `Enum8` или `Enum16`. [#5886](https://github.com/ClickHouse/ClickHouse/pull/5886) ([dimarub2000](https://github.com/dimarub2000))
* Полная побитовая транспозиция для кодека `T64`. Может дать более эффективное сжатие с `zstd`. [#5742](https://github.com/ClickHouse/ClickHouse/pull/5742) ([Artem Zuikov](https://github.com/4ertus2))
* Условие с функцией `startsWith` теперь может использовать первичный ключ. Это исправляет [#5310](https://github.com/ClickHouse/ClickHouse/issues/5310) и [#5882](https://github.com/ClickHouse/ClickHouse/issues/5882) [#5919](https://github.com/ClickHouse/ClickHouse/pull/5919) ([dimarub2000](https://github.com/dimarub2000))
* Разрешено использовать `clickhouse-copier` с топологией кластера с перекрёстной репликацией, допуская пустое имя базы данных. [#5745](https://github.com/ClickHouse/ClickHouse/pull/5745) ([nvartolomei](https://github.com/nvartolomei))
* Использовать `UTC` в качестве часового пояса по умолчанию в системе без `tzdata` (например, в обычном Docker-контейнере). До этого исправления выводилось сообщение об ошибке `Could not determine local time zone`, и сервер или клиент отказывались запускаться. [#5827](https://github.com/ClickHouse/ClickHouse/pull/5827) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Вернули поддержку аргумента типа с плавающей точкой в функции `quantileTiming` для обратной совместимости. [#5911](https://github.com/ClickHouse/ClickHouse/pull/5911) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Показывать в сообщениях об ошибках, в какой таблице отсутствует столбец. [#5768](https://github.com/ClickHouse/ClickHouse/pull/5768) ([Ivan](https://github.com/abyss7))
* Запрещено выполнять запрос с одинаковым query\_id разными пользователями [#5430](https://github.com/ClickHouse/ClickHouse/pull/5430) ([proller](https://github.com/proller))
* Более надёжный код для отправки метрик в Graphite. Он будет работать даже во время длительной серии операций `RENAME TABLE`. [#5875](https://github.com/ClickHouse/ClickHouse/pull/5875) ([alexey-milovidov](https://github.com/alexey-milovidov))
* При невозможности ThreadPool запланировать задачу на выполнение будут отображаться более информативные сообщения об ошибках. Это исправляет [#5305](https://github.com/ClickHouse/ClickHouse/issues/5305) [#5801](https://github.com/ClickHouse/ClickHouse/pull/5801) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Инвертирована логика ngramSearch, чтобы сделать её более интуитивной [#5807](https://github.com/ClickHouse/ClickHouse/pull/5807) ([Danila Kutenin](https://github.com/danlark1))
* Добавлен разбор пользователя в конструкторе движка HDFS [#5946](https://github.com/ClickHouse/ClickHouse/pull/5946) ([akonyaev90](https://github.com/akonyaev90))
* Обновлено значение по умолчанию для `параметра max_ast_elements` [#5933](https://github.com/ClickHouse/ClickHouse/pull/5933) ([Artem Konovalov](https://github.com/izebit))
* Введено понятие устаревших настроек. Устаревшая настройка `allow_experimental_low_cardinality_type` может использоваться, но не оказывает никакого эффекта. [0f15c01c6802f7ce1a1494c12c846be8c98944cd](https://github.com/ClickHouse/ClickHouse/commit/0f15c01c6802f7ce1a1494c12c846be8c98944cd) [Alexey Milovidov](https://github.com/alexey-milovidov)

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

* Увеличено число потоков чтения для `SELECT` из таблицы Merge, чтобы добиться более равномерного распределения потоков выполнения. Добавлена настройка `max_streams_multiplier_for_merge_tables`. Это исправляет [#5797](https://github.com/ClickHouse/ClickHouse/issues/5797) [#5915](https://github.com/ClickHouse/ClickHouse/pull/5915) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement-7">
  #### улучшение сборки/тестирования/пакетирования
</div>

* Добавлен тест на обратную совместимость взаимодействия клиента с сервером при разных версиях ClickHouse. [#5868](https://github.com/ClickHouse/ClickHouse/pull/5868) ([alesapin](https://github.com/alesapin))
* Информация о покрытии тестами в каждом коммите и пул-реквесте. [#5896](https://github.com/ClickHouse/ClickHouse/pull/5896) ([alesapin](https://github.com/alesapin))
* Добавлено взаимодействие с AddressSanitizer для поддержки наших пользовательских аллокаторов (`Arena` и `ArenaWithFreeLists`), что улучшает отладку ошибок "use-after-free". [#5728](https://github.com/ClickHouse/ClickHouse/pull/5728) ([akuzm](https://github.com/akuzm))
* Переход на [реализацию LLVM libunwind](https://github.com/llvm-mirror/libunwind) для обработки исключений C++ и вывода трассировки стека [#4828](https://github.com/ClickHouse/ClickHouse/pull/4828) ([Nikita Lapkov](https://github.com/laplab))
* Добавлены ещё два предупреждения компилятора из -Weverything [#5923](https://github.com/ClickHouse/ClickHouse/pull/5923) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена возможность собирать ClickHouse с Memory Sanitizer. [#3949](https://github.com/ClickHouse/ClickHouse/pull/3949) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен отчёт ubsan о функции `bitTest` в фазз-тесте. [#5943](https://github.com/ClickHouse/ClickHouse/pull/5943) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Docker: добавлена возможность инициализации экземпляра ClickHouse, требующего аутентификации. [#5727](https://github.com/ClickHouse/ClickHouse/pull/5727) ([Korviakov Andrey](https://github.com/shurshun))
* Обновлён librdkafka до версии 1.1.0 [#5872](https://github.com/ClickHouse/ClickHouse/pull/5872) ([Ivan](https://github.com/abyss7))
* Добавлен глобальный тайм-аут для интеграционных тестов, а часть из них отключена в тестовом коде. [#5741](https://github.com/ClickHouse/ClickHouse/pull/5741) ([alesapin](https://github.com/alesapin))
* Исправлены некоторые ошибки, выявленные ThreadSanitizer. [#5854](https://github.com/ClickHouse/ClickHouse/pull/5854) ([akuzm](https://github.com/akuzm))
* Опция `--no-undefined` заставляет компоновщик при компоновке проверять наличие всех внешних имён. Это очень полезно для отслеживания реальных зависимостей между библиотеками в режиме split build. [#5855](https://github.com/ClickHouse/ClickHouse/pull/5855) ([Ivan](https://github.com/abyss7))
* Добавлен тест на производительность для [#5797](https://github.com/ClickHouse/ClickHouse/issues/5797) [#5914](https://github.com/ClickHouse/ClickHouse/pull/5914) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена проблема совместимости с gcc-7. [#5840](https://github.com/ClickHouse/ClickHouse/pull/5840) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена поддержка gcc-9. Исправлены проблемы [#5717](https://github.com/ClickHouse/ClickHouse/issues/5717) [#5774](https://github.com/ClickHouse/ClickHouse/pull/5774) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, из-за которой libunwind мог быть некорректно слинкован. [#5948](https://github.com/ClickHouse/ClickHouse/pull/5948) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено несколько предупреждений, выявленных PVS-Studio. [#5921](https://github.com/ClickHouse/ClickHouse/pull/5921) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена первоначальная поддержка статического анализатора `clang-tidy`. [#5806](https://github.com/ClickHouse/ClickHouse/pull/5806) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Замена endian-макросов BSD/Linux( 'be64toh' and 'htobe64') на эквиваленты для Mac OS X [#5785](https://github.com/ClickHouse/ClickHouse/pull/5785) ([Fu Chen](https://github.com/fredchenbj))
* Улучшено руководство по интеграционному тестированию. [#5796](https://github.com/ClickHouse/ClickHouse/pull/5796) ([Vladimir Chebotarev](https://github.com/excitoon))
* Исправлена сборка на macOS + gcc9 [#5822](https://github.com/ClickHouse/ClickHouse/pull/5822) ([filimonov](https://github.com/filimonov))
* Исправлена труднозаметная опечатка: aggreAGte -> aggregate. [#5753](https://github.com/ClickHouse/ClickHouse/pull/5753) ([akuzm](https://github.com/akuzm))
* Исправлена сборка под FreeBSD [#5760](https://github.com/ClickHouse/ClickHouse/pull/5760) ([proller](https://github.com/proller))
* На сайт добавлена ссылка на экспериментальный YouTube-канал [#5845](https://github.com/ClickHouse/ClickHouse/pull/5845) ([Ivan Blinkov](https://github.com/blinkov))
* CMake: добавлена опция для флагов покрытия: WITH\_COVERAGE [#5776](https://github.com/ClickHouse/ClickHouse/pull/5776) ([proller](https://github.com/proller))
* У некоторых встроенных PODArray'ов исправлен начальный размер. [#5787](https://github.com/ClickHouse/ClickHouse/pull/5787) ([akuzm](https://github.com/akuzm))
* clickhouse-server.postinst: исправлено определение ОС для CentOS 6 [#5788](https://github.com/ClickHouse/ClickHouse/pull/5788) ([proller](https://github.com/proller))
* Добавлена сборка пакетов для Arch Linux. [#5719](https://github.com/ClickHouse/ClickHouse/pull/5719) ([Vladimir Chebotarev](https://github.com/excitoon))
* Разделили Common/config.h по библиотекам (dbms) [#5715](https://github.com/ClickHouse/ClickHouse/pull/5715) ([proller](https://github.com/proller))
* Исправления для сборочной платформы "Arcadia" [#5795](https://github.com/ClickHouse/ClickHouse/pull/5795) ([proller](https://github.com/proller))
* Исправления для нестандартной сборки (gcc9, без субмодулей) [#5792](https://github.com/ClickHouse/ClickHouse/pull/5792) ([proller](https://github.com/proller))
* Требовать явного указания типа в `unalignedStore`, поскольку выяснилось, что без этого часто возникают ошибки [#5791](https://github.com/ClickHouse/ClickHouse/pull/5791) ([akuzm](https://github.com/akuzm))
* Исправлена сборка для macOS [#5830](https://github.com/ClickHouse/ClickHouse/pull/5830) ([filimonov](https://github.com/filimonov))
* Тест производительности новой возможности JIT на более крупном наборе данных, как запрошено здесь [#5263](https://github.com/ClickHouse/ClickHouse/issues/5263) [#5887](https://github.com/ClickHouse/ClickHouse/pull/5887) ([Guillaume Tassery](https://github.com/YiuRULE))
* Запуск тестов с сохранением состояния при стресс-тестировании [12693e568722f11e19859742f56428455501fd2a](https://github.com/ClickHouse/ClickHouse/commit/12693e568722f11e19859742f56428455501fd2a) ([alesapin](https://github.com/alesapin))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* В этой версии `Kafka` не работает.
* Для новых таблиц `MergeTree` по умолчанию включён `adaptive_index_granularity` = 10MB. Если вы создали новые таблицы MergeTree начиная с версии 19.11+, откатиться до версий ниже 19.6 будет невозможно. [#5628](https://github.com/ClickHouse/ClickHouse/pull/5628) ([alesapin](https://github.com/alesapin))
* Удалены устаревшие недокументированные встроенные словари, которые использовались в Yandex.Metrica. Функции `OSIn`, `SEIn`, `OSToRoot`, `SEToRoot`, `OSHierarchy`, `SEHierarchy` больше недоступны. Если вы используете эти функции, напишите по адресу [clickhouse-feedback@yandex-team.com](mailto:clickhouse-feedback@yandex-team.com). Примечание: в последний момент мы решили оставить эти функции ещё на некоторое время. [#5780](https://github.com/ClickHouse/ClickHouse/pull/5780) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-10">
  ## Релиз ClickHouse 19.10
</div>

<div id="clickhouse-release-19-10-1-5-2019-07-12">
  ### Релиз ClickHouse 19.10.1.5, 2019-07-12
</div>

<div id="new-feature">
  #### Новая возможность
</div>

* Добавлен новый кодек для столбцов: `T64`. Предназначен для столбцов (U)IntX/EnumX/Data(Time)/DecimalX. Хорошо подходит для столбцов с константными значениями или значениями из небольшого диапазона. Сам кодек позволяет увеличивать или уменьшать тип данных без повторного сжатия. [#5557](https://github.com/ClickHouse/ClickHouse/pull/5557) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлен движок базы данных `MySQL`, который позволяет просматривать все таблицы на удалённом сервере MySQL [#5599](https://github.com/ClickHouse/ClickHouse/pull/5599) ([Winter Zhang](https://github.com/zhang2014))
* Реализована функция `bitmapContains`. Она в 2 раза быстрее, чем `bitmapHasAny`, если второй битмап содержит один элемент. [#5535](https://github.com/ClickHouse/ClickHouse/pull/5535) ([Zhichang Yu](https://github.com/yuzhichang))
* Добавлена поддержка функции `crc32` (с поведением, точно таким же, как в MySQL или PHP). Не используйте её, если вам нужна хеш-функция. [#5661](https://github.com/ClickHouse/ClickHouse/pull/5661) ([Remen Ivan](https://github.com/BHYCHIK))
* Реализованы запросы `SYSTEM START/STOP DISTRIBUTED SENDS` для управления асинхронными вставками в таблицы `Distributed`. [#4935](https://github.com/ClickHouse/ClickHouse/pull/4935) ([Winter Zhang](https://github.com/zhang2014))

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

* При выполнении мутаций для ограничений слияния теперь игнорируются лимиты на выполнение запросов и максимальный размер частей. [#5659](https://github.com/ClickHouse/ClickHouse/pull/5659) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена ошибка, которая могла приводить к дедупликации обычных блоков (крайне редко) и вставке дублирующихся блоков (чаще). [#5549](https://github.com/ClickHouse/ClickHouse/pull/5549) ([alesapin](https://github.com/alesapin))
* Исправлена функция `arrayEnumerateUniqRanked` для аргументов с пустыми массивами [#5559](https://github.com/ClickHouse/ClickHouse/pull/5559) ([proller](https://github.com/proller))
* Не выполняется подписка на топики Kafka, если не предполагается опрос сообщений. [#5698](https://github.com/ClickHouse/ClickHouse/pull/5698) ([Ivan](https://github.com/abyss7))
* Настройка `join_use_nulls` больше не влияет на типы, которые не могут быть внутри Nullable [#5700](https://github.com/ClickHouse/ClickHouse/pull/5700) ([Olga Khvostikova](https://github.com/stavrolia))
* Исправлены ошибки `Incorrect size of index granularity` [#5720](https://github.com/ClickHouse/ClickHouse/pull/5720) ([coraxster](https://github.com/coraxster))
* Исправлено переполнение при преобразовании Float в Decimal [#5607](https://github.com/ClickHouse/ClickHouse/pull/5607) ([coraxster](https://github.com/coraxster))
* Буфер сбрасывается при вызове деструктора `WriteBufferFromHDFS`. Это исправляет запись в `HDFS`. [#5684](https://github.com/ClickHouse/ClickHouse/pull/5684) ([Xindong Peng](https://github.com/eejoin))

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

* Пустые ячейки в `CSV` рассматриваются как значения по умолчанию, если включена настройка `input_format_defaults_for_omitted_fields`. [#5625](https://github.com/ClickHouse/ClickHouse/pull/5625) ([akuzm](https://github.com/akuzm))
* Неблокирующая загрузка внешних словарей. [#5567](https://github.com/ClickHouse/ClickHouse/pull/5567) ([Vitaly Baranov](https://github.com/vitlibar))
* Сетевые тайм-ауты для уже установленных соединений теперь можно динамически изменять в соответствии с настройками. [#4558](https://github.com/ClickHouse/ClickHouse/pull/4558) ([Konstantin Podshumok](https://github.com/podshumok))
* Для функций `firstSignificantSubdomain`, `cutToFirstSignificantSubdomain` используется "public\_suffix\_list". Используется идеальная хеш-таблица, сгенерированная с помощью `gperf`, со списком, созданным из файла: [https://publicsuffix.org/list/public\&#95;suffix\&#95;list.dat](https://publicsuffix.org/list/public\&#95;suffix\&#95;list.dat). (например, теперь домен `ac.uk` распознается как незначимый). [#5030](https://github.com/ClickHouse/ClickHouse/pull/5030) ([Guillaume Tassery](https://github.com/YiuRULE))
* Тип данных `IPv6` добавлен в системные таблицы; унифицированы столбцы с информацией о клиенте в `system.processes` и `system.query_log` [#5640](https://github.com/ClickHouse/ClickHouse/pull/5640) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлено использование сеансов для соединений по протоколу совместимости с MySQL. #5476 [#5646](https://github.com/ClickHouse/ClickHouse/pull/5646) ([Yuriy Baranov](https://github.com/yurriy))
* Поддержка большего числа запросов `ALTER` с предложением `ON CLUSTER`. [#5593](https://github.com/ClickHouse/ClickHouse/pull/5593) [#5613](https://github.com/ClickHouse/ClickHouse/pull/5613) ([sundyli](https://github.com/sundy-li))
* Добавлена поддержка секции `<logger>` в файле config `clickhouse-local`. [#5540](https://github.com/ClickHouse/ClickHouse/pull/5540) ([proller](https://github.com/proller))
* Разрешен запуск запроса с табличной функцией `remote` в `clickhouse-local` [#5627](https://github.com/ClickHouse/ClickHouse/pull/5627) ([proller](https://github.com/proller))

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

* Добавлена возможность записывать финальную метку в конец столбцов MergeTree. Это позволяет избежать лишних чтений для ключей, выходящих за пределы диапазона данных таблицы. Функция работает только при использовании адаптивной гранулярности индекса. [#5624](https://github.com/ClickHouse/ClickHouse/pull/5624) ([alesapin](https://github.com/alesapin))
* Улучшена производительность таблиц MergeTree на очень медленных файловых системах за счет сокращения количества системных вызовов `stat`. [#5648](https://github.com/ClickHouse/ClickHouse/pull/5648) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено падение производительности при чтении из таблиц MergeTree, появившееся в версии 19.6. Исправляет #5631. [#5633](https://github.com/ClickHouse/ClickHouse/pull/5633) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Реализован `TestKeeper` — реализация интерфейса ZooKeeper, используемая для тестирования [#5643](https://github.com/ClickHouse/ClickHouse/pull/5643) ([alexey-milovidov](https://github.com/alexey-milovidov)) ([levushkin aleksej](https://github.com/alexey-milovidov))
* Теперь `.sql`-тесты можно запускать изолированно на отдельных серверах, параллельно и со случайной базой данных. Это позволяет выполнять их быстрее, добавлять новые тесты с пользовательскими конфигурациями сервера и быть уверенными, что разные тесты не влияют друг на друга. [#5554](https://github.com/ClickHouse/ClickHouse/pull/5554) ([Ivan](https://github.com/abyss7))
* Из performance tests удалены `<name>` и `<metrics>` [#5672](https://github.com/ClickHouse/ClickHouse/pull/5672) ([Olga Khvostikova](https://github.com/stavrolia))
* Исправлен performance test `select_format` для форматов `Pretty` [#5642](https://github.com/ClickHouse/ClickHouse/pull/5642) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-9">
  ## Релиз ClickHouse 19.9
</div>

<div id="clickhouse-release-19-9-3-31-2019-07-05">
  ### Релиз ClickHouse 19.9.3.31, 2019-07-05
</div>

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

* Исправлен segfault в кодеке Delta, затрагивавший столбцы со значениями размером менее 32 бит. Ошибка приводила к случайному повреждению памяти. [#5786](https://github.com/ClickHouse/ClickHouse/pull/5786) ([alesapin](https://github.com/alesapin))
* Исправлена редкая ошибка при проверке части со столбцом LowCardinality. [#5832](https://github.com/ClickHouse/ClickHouse/pull/5832) ([alesapin](https://github.com/alesapin))
* Исправлен segfault при TTL merge с нефизическими столбцами в блоке. [#5819](https://github.com/ClickHouse/ClickHouse/pull/5819) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена потенциальная бесконечная задержка низкоприоритетных запросов. [#5842](https://github.com/ClickHouse/ClickHouse/pull/5842) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено определение часового пояса по умолчанию в ClickHouse как UCT вместо UTC. [#5828](https://github.com/ClickHouse/ClickHouse/pull/5828) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, из-за которой распределённые запросы DROP/ALTER/TRUNCATE/OPTIMIZE с предложением ON CLUSTER выполнялись на реплике-последователе раньше, чем на реплике-лидере. Теперь они будут выполняться напрямую на реплике-лидере. [#5757](https://github.com/ClickHouse/ClickHouse/pull/5757) ([alesapin](https://github.com/alesapin))
* Исправлено состояние гонки, из-за которого некоторые запросы могли не появляться в query\_log сразу после запроса SYSTEM FLUSH LOGS. [#5685](https://github.com/ClickHouse/ClickHouse/pull/5685) ([Anton Popov](https://github.com/CurtizJ))
* Добавлена отсутствовавшая поддержка константных аргументов для функции `evalMLModel`. [#5820](https://github.com/ClickHouse/ClickHouse/pull/5820) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-9-2-4-2019-06-24">
  ### Релиз ClickHouse 19.9.2.4, 2019-06-24
</div>

<div id="new-feature">
  #### Новая возможность
</div>

* Вывод информации о замороженных частях в таблице `system.parts`. [#5471](https://github.com/ClickHouse/ClickHouse/pull/5471) ([proller](https://github.com/proller))
* При запуске clickhouse-client в tty запрашивается пароль клиента, если он не задан в аргументах [#5092](https://github.com/ClickHouse/ClickHouse/pull/5092) ([proller](https://github.com/proller))
* Реализованы функции `dictGet` и `dictGetOrDefault` для типов Decimal. [#5394](https://github.com/ClickHouse/ClickHouse/pull/5394) ([Artem Zuikov](https://github.com/4ertus2))

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

* Debian init: добавлен тайм-аут при остановке сервиса [#5522](https://github.com/ClickHouse/ClickHouse/pull/5522) ([proller](https://github.com/proller))
* Добавлена настройка, которая по умолчанию запрещает создание таблицы с подозрительными типами для LowCardinality [#5448](https://github.com/ClickHouse/ClickHouse/pull/5448) ([Olga Khvostikova](https://github.com/stavrolia))
* Функции регрессии возвращают веса модели, если не используются как State в функции `evalMLMethod`. [#5411](https://github.com/ClickHouse/ClickHouse/pull/5411) ([Quid37](https://github.com/Quid37))
* Переименованы и улучшены методы регрессии. [#5492](https://github.com/ClickHouse/ClickHouse/pull/5492) ([Quid37](https://github.com/Quid37))
* Интерфейсы средств поиска по строкам стали понятнее. [#5586](https://github.com/ClickHouse/ClickHouse/pull/5586) ([Danila Kutenin](https://github.com/danlark1))

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

* Исправлена возможная потеря данных в Kafka [#5445](https://github.com/ClickHouse/ClickHouse/pull/5445) ([Ivan](https://github.com/abyss7))
* Исправлен потенциальный бесконечный цикл в формате `PrettySpace` при вызове с нулевым количеством столбцов [#5560](https://github.com/ClickHouse/ClickHouse/pull/5560) ([Olga Khvostikova](https://github.com/stavrolia))
* Исправлена ошибка переполнения UInt32 в линейных моделях. Разрешён eval ML model для неконстантного аргумента модели. [#5516](https://github.com/ClickHouse/ClickHouse/pull/5516) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* `ALTER TABLE ... DROP INDEX IF EXISTS ...` не должен генерировать исключение, если указанный индекс не существует [#5524](https://github.com/ClickHouse/ClickHouse/pull/5524) ([Gleb Novikov](https://github.com/NanoBjorn))
* Исправлен segfault при использовании `bitmapHasAny` в скалярном подзапросе [#5528](https://github.com/ClickHouse/ClickHouse/pull/5528) ([Zhichang Yu](https://github.com/yuzhichang))
* Исправлена ошибка, из-за которой пул соединений репликации не пытался повторно разрешить имя хоста даже после сброса DNS-кэша. [#5534](https://github.com/ClickHouse/ClickHouse/pull/5534) ([alesapin](https://github.com/alesapin))
* Исправлена работа `ALTER ... MODIFY TTL` в ReplicatedMergeTree. [#5539](https://github.com/ClickHouse/ClickHouse/pull/5539) ([Anton Popov](https://github.com/CurtizJ))
* Исправлена вставка в distributed таблицу с MATERIALIZED столбцом [#5429](https://github.com/ClickHouse/ClickHouse/pull/5429) ([Azat Khuzhin](https://github.com/azat))
* Исправлена ошибка bad alloc при TRUNCATE хранилища Join [#5437](https://github.com/ClickHouse/ClickHouse/pull/5437) ([TCeason](https://github.com/TCeason))
* В последних версиях пакета tzdata некоторые файлы теперь являются символическими ссылками. Из-за этого текущий механизм определения часового пояса по умолчанию работает некорректно и выдаёт неправильные названия для некоторых часовых поясов. Теперь мы как минимум принудительно задаём имя часового пояса по содержимому TZ, если оно указано. [#5443](https://github.com/ClickHouse/ClickHouse/pull/5443) ([Ivan](https://github.com/abyss7))
* Исправлены некоторые крайне редкие случаи в поисковике MultiVolnitsky, когда суммарная длина константных искомых подстрок составляет не менее 16 КБ. Алгоритм пропускал предыдущие результаты или перезаписывал их, что могло приводить к некорректному результату `multiSearchAny`. [#5588](https://github.com/ClickHouse/ClickHouse/pull/5588) ([Danila Kutenin](https://github.com/danlark1))
* Исправлена проблема, из-за которой в запросах ExternalData нельзя было использовать настройки ClickHouse. Также на данный момент нельзя использовать настройки `date_time_input_format` и `low_cardinality_allow_in_native_format` из-за неоднозначности имен (во внешних данных это может интерпретироваться как формат таблицы, а в запросе — как настройка). [#5455](https://github.com/ClickHouse/ClickHouse/pull/5455) ([Danila Kutenin](https://github.com/danlark1))
* Исправлена ошибка, из-за которой части удалялись только из FS и не удалялись из Zookeeper. [#5520](https://github.com/ClickHouse/ClickHouse/pull/5520) ([alesapin](https://github.com/alesapin))
* Убрано отладочное логирование из протокола MySQL [#5478](https://github.com/ClickHouse/ClickHouse/pull/5478) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Пропускать ZNONODE при обработке DDL-запросов [#5489](https://github.com/ClickHouse/ClickHouse/pull/5489) ([Azat Khuzhin](https://github.com/azat))
* Исправлен тип результирующего столбца для смешанного `UNION ALL`. Встречались случаи с несогласованными типами данных и столбцов в результирующих столбцах. [#5503](https://github.com/ClickHouse/ClickHouse/pull/5503) ([Artem Zuikov](https://github.com/4ertus2))
* В функциях `dictGetT` при некорректных целых числах теперь генерируется исключение вместо сбоя. [#5446](https://github.com/ClickHouse/ClickHouse/pull/5446) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлены некорректные значения element\_count и load\_factor для хешированного словаря в таблице `system.dictionaries`. [#5440](https://github.com/ClickHouse/ClickHouse/pull/5440) ([Azat Khuzhin](https://github.com/azat))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Исправлена сборка без поддержки HTTP-сжатия `Brotli` (переменная CMake `ENABLE_BROTLI=OFF`). [#5521](https://github.com/ClickHouse/ClickHouse/pull/5521) ([Anton Yuzhaninov](https://github.com/citrin))
* Подключение roaring.h как roaring/roaring.h [#5523](https://github.com/ClickHouse/ClickHouse/pull/5523) ([Orivej Desh](https://github.com/orivej))
* Исправлены предупреждения gcc9 в hyperscan (#line directive is evil!) [#5546](https://github.com/ClickHouse/ClickHouse/pull/5546) ([Danila Kutenin](https://github.com/danlark1))
* Исправлены все предупреждения при компиляции с gcc-9. Исправлены некоторые проблемы в contrib. Исправлен внутренний сбой компилятора (ICE) в gcc9 и отправлен отчёт в bugzilla. [#5498](https://github.com/ClickHouse/ClickHouse/pull/5498) ([Danila Kutenin](https://github.com/danlark1))
* Исправлена линковка с lld [#5477](https://github.com/ClickHouse/ClickHouse/pull/5477) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Удалены неиспользуемые специализации в словарях [#5452](https://github.com/ClickHouse/ClickHouse/pull/5452) ([Artem Zuikov](https://github.com/4ertus2))
* Улучшены тесты производительности форматирования и парсинга таблиц для разных типов файлов [#5497](https://github.com/ClickHouse/ClickHouse/pull/5497) ([Olga Khvostikova](https://github.com/stavrolia))
* Исправления для параллельного запуска тестов [#5506](https://github.com/ClickHouse/ClickHouse/pull/5506) ([proller](https://github.com/proller))
* Docker: используются конфигурации из clickhouse-test [#5531](https://github.com/ClickHouse/ClickHouse/pull/5531) ([proller](https://github.com/proller))
* Исправлена компиляция для FreeBSD [#5447](https://github.com/ClickHouse/ClickHouse/pull/5447) ([proller](https://github.com/proller))
* Boost обновлён до 1.70 [#5570](https://github.com/ClickHouse/ClickHouse/pull/5570) ([proller](https://github.com/proller))
* Исправлена сборка ClickHouse как подмодуля [#5574](https://github.com/ClickHouse/ClickHouse/pull/5574) ([proller](https://github.com/proller))
* Улучшены тесты производительности JSONExtract [#5444](https://github.com/ClickHouse/ClickHouse/pull/5444) ([Vitaly Baranov](https://github.com/vitlibar))

<div id="clickhouse-release-19-8">
  ## Релиз ClickHouse 19.8
</div>

<div id="clickhouse-release-19-8-3-8-2019-06-11">
  ### Релиз ClickHouse 19.8.3.8, 2019-06-11
</div>

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

* Добавлены функции для работы с JSON [#4686](https://github.com/ClickHouse/ClickHouse/pull/4686) ([hcz](https://github.com/hczhcz)) [#5124](https://github.com/ClickHouse/ClickHouse/pull/5124). ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлена функция basename с поведением, аналогичным одноимённой функции, существующей во многих языках (`os.path.basename` in python, `basename` in PHP и т. д.). Работает как с UNIX-подобными путями, так и с путями Windows. [#5136](https://github.com/ClickHouse/ClickHouse/pull/5136) ([Guillaume Tassery](https://github.com/YiuRULE))
* Добавлен синтаксис `LIMIT n, m BY` или `LIMIT m OFFSET n BY` для указания смещения n в предложении LIMIT BY. [#5138](https://github.com/ClickHouse/ClickHouse/pull/5138) ([Anton Popov](https://github.com/CurtizJ))
* Добавлен новый тип данных `SimpleAggregateFunction`, который позволяет использовать столбцы с простой агрегацией в `AggregatingMergeTree`. Его можно использовать только с простыми функциями, такими как `any`, `anyLast`, `sum`, `min`, `max`. [#4629](https://github.com/ClickHouse/ClickHouse/pull/4629) ([Boris Granveaud](https://github.com/bgranvea))
* Добавлена поддержка неконстантных аргументов функции `ngramDistance` [#5198](https://github.com/ClickHouse/ClickHouse/pull/5198) ([Danila Kutenin](https://github.com/danlark1))
* Добавлены функции `skewPop`, `skewSamp`, `kurtPop` и `kurtSamp` для вычисления асимметрии последовательности значений, выборочной асимметрии, эксцесса и выборочного эксцесса соответственно. [#5200](https://github.com/ClickHouse/ClickHouse/pull/5200) ([hcz](https://github.com/hczhcz))
* Добавлена поддержка операции переименования для хранилища `MaterializeView`. [#5209](https://github.com/ClickHouse/ClickHouse/pull/5209) ([Guillaume Tassery](https://github.com/YiuRULE))
* Добавлен сервер, позволяющий подключаться к ClickHouse с помощью клиента MySQL. [#4715](https://github.com/ClickHouse/ClickHouse/pull/4715) ([Yuriy Baranov](https://github.com/yurriy))
* Добавлены функции `toDecimal*OrZero` и `toDecimal*OrNull`. [#5291](https://github.com/ClickHouse/ClickHouse/pull/5291) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлена поддержка Decimal types в функциях: `quantile`, `quantiles`, `median`, `quantileExactWeighted`, `quantilesExactWeighted`, medianExactWeighted. [#5304](https://github.com/ClickHouse/ClickHouse/pull/5304) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлена функция `toValidUTF8`, которая заменяет все некорректные символы UTF-8 символом замены � (U+FFFD). [#5322](https://github.com/ClickHouse/ClickHouse/pull/5322) ([Danila Kutenin](https://github.com/danlark1))
* Добавлена функция `format`. Выполняет форматирование константного шаблона (упрощённого шаблона формата Python) с использованием строк, перечисленных в аргументах. [#5330](https://github.com/ClickHouse/ClickHouse/pull/5330) ([Danila Kutenin](https://github.com/danlark1))
* Добавлена таблица `system.detached_parts`, содержащая информацию об отсоединённых частях таблиц `MergeTree`. [#5353](https://github.com/ClickHouse/ClickHouse/pull/5353) ([akuzm](https://github.com/akuzm))
* Добавлена функция `ngramSearch` для вычисления несимметрической разности между `needle` и `haystack`. [#5418](https://github.com/ClickHouse/ClickHouse/pull/5418)[#5422](https://github.com/ClickHouse/ClickHouse/pull/5422) ([Danila Kutenin](https://github.com/danlark1))
* Реализованы базовые методы машинного обучения (стохастическая линейная регрессия и логистическая регрессия) с использованием интерфейса агрегатных функций. Поддерживаются различные стратегии обновления весов модели (простой градиентный спуск, метод импульса, метод Нестерова). Также поддерживаются мини-батчи произвольного размера. [#4943](https://github.com/ClickHouse/ClickHouse/pull/4943) ([Quid37](https://github.com/Quid37))
* Реализованы функции `geohashEncode` и `geohashDecode`. [#5003](https://github.com/ClickHouse/ClickHouse/pull/5003) ([Vasily Nemkov](https://github.com/Enmk))
* Добавлена агрегатная функция `timeSeriesGroupSum`, которая может агрегировать разные временные ряды, у которых временные метки выборок не выровнены. Она использует линейную интерполяцию между двумя временными метками выборок, а затем суммирует временные ряды. Добавлена агрегатная функция `timeSeriesGroupRateSum`, которая вычисляет скорость изменения временных рядов, а затем суммирует эти скорости. [#4542](https://github.com/ClickHouse/ClickHouse/pull/4542) ([Yangkuan Liu](https://github.com/LiuYangkuan))
* Добавлены функции `IPv4CIDRtoIPv4Range` и `IPv6CIDRtoIPv6Range` для вычисления нижней и верхней границ диапазона IP-адресов подсети по CIDR. [#5095](https://github.com/ClickHouse/ClickHouse/pull/5095) ([Guillaume Tassery](https://github.com/YiuRULE))
* Добавлен заголовок X-ClickHouse-Summary, который передаётся при отправке запроса по HTTP с включенной настройкой `send_progress_in_http_headers`. Он возвращает стандартную информацию из X-ClickHouse-Progress, а также дополнительные сведения, например сколько строк и байт было вставлено в ходе запроса. [#5116](https://github.com/ClickHouse/ClickHouse/pull/5116) ([Guillaume Tassery](https://github.com/YiuRULE))

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

* Добавлена настройка `max_parts_in_total` для таблиц семейства MergeTree (по умолчанию: 100 000), предотвращающая небезопасное задание ключа партиционирования #5166. [#5171](https://github.com/ClickHouse/ClickHouse/pull/5171) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `clickhouse-obfuscator`: вычислять seed для отдельных столбцов, комбинируя исходный seed с именем столбца, а не с его позицией. Это предназначено для преобразования наборов данных с несколькими связанными таблицами, чтобы после преобразования таблицы по-прежнему можно было связывать через JOIN. [#5178](https://github.com/ClickHouse/ClickHouse/pull/5178) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены функции `JSONExtractRaw`, `JSONExtractKeyAndValues`. Функции `jsonExtract<type>` переименованы в `JSONExtract<type>`. В случае ошибки эти функции возвращают значения соответствующего типа, а не `NULL`. Изменена функция `JSONExtract`: теперь она получает тип результата из последнего параметра и не оборачивает типы в Nullable. Реализован fallback на RapidJSON в случае, если инструкции AVX2 недоступны. Библиотека Simdjson обновлена до новой версии. [#5235](https://github.com/ClickHouse/ClickHouse/pull/5235) ([Vitaly Baranov](https://github.com/vitlibar))
* Теперь функции `if` и `multiIf` для совместимости с SQL зависят не от `Nullable` условия, а от ветвей. [#5238](https://github.com/ClickHouse/ClickHouse/pull/5238) ([Jian Wu](https://github.com/janplus))
* Предикат `In` теперь возвращает результат `Null` при входном значении `Null`, как и функция `Equal`. [#5152](https://github.com/ClickHouse/ClickHouse/pull/5152) ([Jian Wu](https://github.com/janplus))
* Проверять ограничение по времени после каждых (flush\_interval / poll\_timeout) строк из Kafka. Это позволяет чаще прерывать чтение из потребителя Kafka и проверять временные ограничения для потоков верхнего уровня [#5249](https://github.com/ClickHouse/ClickHouse/pull/5249) ([Ivan](https://github.com/abyss7))
* Собрать rdkafka со встроенной поддержкой SASL. Это должно позволить использовать аутентификацию SASL SCRAM [#5253](https://github.com/ClickHouse/ClickHouse/pull/5253) ([Ivan](https://github.com/abyss7))
* Батч-версия RowRefList для ALL JOIN. [#5267](https://github.com/ClickHouse/ClickHouse/pull/5267) ([Artem Zuikov](https://github.com/4ertus2))
* clickhouse-server: более информативные сообщения об ошибках при прослушивании. [#5268](https://github.com/ClickHouse/ClickHouse/pull/5268) ([proller](https://github.com/proller))
* Поддержка словарей в clickhouse-copier для функций внутри `<sharding_key>` [#5270](https://github.com/ClickHouse/ClickHouse/pull/5270) ([proller](https://github.com/proller))
* Добавлена новая настройка `kafka_commit_every_batch` для управления политикой коммита в Kafka.
  Она позволяет выбрать режим коммита: после обработки каждого батча сообщений или после записи в хранилище всего блока. Это компромисс между потерей части сообщений и их повторным чтением в некоторых редких ситуациях. [#5308](https://github.com/ClickHouse/ClickHouse/pull/5308) ([Ivan](https://github.com/abyss7))
* Добавлена поддержка других беззнаковых целочисленных типов в `windowFunnel`. [#5320](https://github.com/ClickHouse/ClickHouse/pull/5320) ([sundyli](https://github.com/sundy-li))
* Разрешено затенение виртуального столбца `_table` в движке Merge. [#5325](https://github.com/ClickHouse/ClickHouse/pull/5325) ([Ivan](https://github.com/abyss7))
* Добавлена поддержка других целочисленных типов без знака для агрегатных функций `sequenceMatch` [#5339](https://github.com/ClickHouse/ClickHouse/pull/5339) ([sundyli](https://github.com/sundy-li))
* Более понятные сообщения об ошибках, если несовпадение контрольной суммы, скорее всего, вызвано аппаратными сбоями. [#5355](https://github.com/ClickHouse/ClickHouse/pull/5355) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Проверка того, что базовые таблицы поддерживают сэмплирование для `StorageMerge` [#5366](https://github.com/ClickHouse/ClickHouse/pull/5366) ([Ivan](https://github.com/abyss7))
* Закрытие MySQL-соединений после использования во внешних словарях. Связано с проблемой #893. [#5395](https://github.com/ClickHouse/ClickHouse/pull/5395) ([Clément Rodriguez](https://github.com/clemrodriguez))
* Улучшения протокола MySQL. Имя формата изменено на MySQLWire. Для вызова RSA\_free теперь используется RAII. SSL отключается, если не удается создать контекст. [#5419](https://github.com/ClickHouse/ClickHouse/pull/5419) ([Yuriy Baranov](https://github.com/yurriy))
* clickhouse-client: теперь может запускаться с недоступным файлом истории (только для чтения, нет места на диске, файл является каталогом, ...). [#5431](https://github.com/ClickHouse/ClickHouse/pull/5431) ([proller](https://github.com/proller))
* Настройки запроса теперь учитываются при асинхронных INSERT в таблицы Distributed. [#4936](https://github.com/ClickHouse/ClickHouse/pull/4936) ([TCeason](https://github.com/TCeason))
* Функции `leastSqr`, `LinearRegression` и `LogisticRegression` были переименованы в `simpleLinearRegression`, `linearRegression` и `logisticRegression` соответственно. [#5391](https://github.com/ClickHouse/ClickHouse/pull/5391) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

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

* Распараллелена обработка частей нереплицируемых таблиц MergeTree в запросе ALTER MODIFY. [#4639](https://github.com/ClickHouse/ClickHouse/pull/4639) ([Ivan Kush](https://github.com/IvanKush))
* Оптимизировано извлечение данных с помощью регулярных выражений. [#5193](https://github.com/ClickHouse/ClickHouse/pull/5193) [#5191](https://github.com/ClickHouse/ClickHouse/pull/5191) ([Danila Kutenin](https://github.com/danlark1))
* Правый столбец ключа JOIN не добавляется в результат JOIN, если он используется только в секции ON. [#5260](https://github.com/ClickHouse/ClickHouse/pull/5260) ([Artem Zuikov](https://github.com/4ertus2))
* Буфер Kafka замораживается после первого пустого ответа. Это позволяет избежать многократных вызовов `ReadBuffer::next()` для пустого результата в некоторых потоках разбора строк. [#5283](https://github.com/ClickHouse/ClickHouse/pull/5283) ([Ivan](https://github.com/abyss7))
* Оптимизирована функция `concat` для нескольких аргументов. [#5357](https://github.com/ClickHouse/ClickHouse/pull/5357) ([Danila Kutenin](https://github.com/danlark1))
* Оптимизация запросов: разрешено проталкивать оператор IN при переписывании comma/cross JOIN во inner JOIN. [#5396](https://github.com/ClickHouse/ClickHouse/pull/5396) ([Artem Zuikov](https://github.com/4ertus2))
* Наша реализация LZ4 заменена на эталонную для ускорения декомпрессии. [#5070](https://github.com/ClickHouse/ClickHouse/pull/5070) ([Danila Kutenin](https://github.com/danlark1))
* Реализованы MSD radix sort (на основе kxsort) и частичная сортировка. [#5129](https://github.com/ClickHouse/ClickHouse/pull/5129) ([Evgenii Pravda](https://github.com/kvinty))

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

* Исправлено требование наличия столбцов для push при JOIN [#5192](https://github.com/ClickHouse/ClickHouse/pull/5192) ([Winter Zhang](https://github.com/zhang2014))
* Исправлена ошибка: когда ClickHouse был запущен через systemd, команда `sudo service clickhouse-server forcerestart` работала не так, как ожидалось. [#5204](https://github.com/ClickHouse/ClickHouse/pull/5204) ([proller](https://github.com/proller))
* Исправлены HTTP-коды ошибок в DataPartsExchange (межсерверный HTTP-сервер на порту 9009 всегда возвращал код 200, даже при ошибках). [#5216](https://github.com/ClickHouse/ClickHouse/pull/5216) ([proller](https://github.com/proller))
* Исправлен SimpleAggregateFunction для `String` длиннее MAX\_SMALL\_STRING\_SIZE [#5311](https://github.com/ClickHouse/ClickHouse/pull/5311) ([Azat Khuzhin](https://github.com/azat))
* Исправлена ошибка при преобразовании `Decimal` в `Nullable(Decimal)` в IN. Добавлена поддержка и других преобразований `Decimal` в `Decimal` (в том числе с разным scale). [#5350](https://github.com/ClickHouse/ClickHouse/pull/5350) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено повреждение FPU в библиотеке simdjson, которое приводило к неправильным вычислениям агрегатных функций `uniqHLL` и `uniqCombined`, а также математических функций, таких как `log`. [#5354](https://github.com/ClickHouse/ClickHouse/pull/5354) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена обработка смешанных const/nonconst случаев в JSON-функциях. [#5435](https://github.com/ClickHouse/ClickHouse/pull/5435) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена функция `retention`. Теперь все условия, выполняющиеся в строке данных, добавляются в состояние данных. [#5119](https://github.com/ClickHouse/ClickHouse/pull/5119) ([小路](https://github.com/nicelulu))
* Исправлен тип результата для `quantileExact` с `Decimal`. [#5304](https://github.com/ClickHouse/ClickHouse/pull/5304) ([Artem Zuikov](https://github.com/4ertus2))

<div id="documentation">
  #### Документация
</div>

* Документация по `CollapsingMergeTree` переведена на китайский. [#5168](https://github.com/ClickHouse/ClickHouse/pull/5168) ([张风啸](https://github.com/AlexZFX))
* Часть документации о движках таблиц переведена на китайский.
  [#5134](https://github.com/ClickHouse/ClickHouse/pull/5134)
  [#5328](https://github.com/ClickHouse/ClickHouse/pull/5328)
  ([never lee](https://github.com/neverlee))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Исправлены некоторые отчёты санитайзера, указывающие на вероятное использование памяти после освобождения.[#5139](https://github.com/ClickHouse/ClickHouse/pull/5139) [#5143](https://github.com/ClickHouse/ClickHouse/pull/5143) [#5393](https://github.com/ClickHouse/ClickHouse/pull/5393) ([Ivan](https://github.com/abyss7))
* Для удобства тесты производительности вынесены из отдельных каталогов. [#5158](https://github.com/ClickHouse/ClickHouse/pull/5158) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены некорректные тесты производительности. [#5255](https://github.com/ClickHouse/ClickHouse/pull/5255) ([alesapin](https://github.com/alesapin))
* Добавлен инструмент для вычисления контрольных сумм при перевороте битов для отладки аппаратных проблем. [#5334](https://github.com/ClickHouse/ClickHouse/pull/5334) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Скрипт runner сделан более удобным в использовании. [#5340](https://github.com/ClickHouse/ClickHouse/pull/5340)[#5360](https://github.com/ClickHouse/ClickHouse/pull/5360) ([filimonov](https://github.com/filimonov))
* Добавлена небольшая инструкция о том, как писать тесты производительности. [#5408](https://github.com/ClickHouse/ClickHouse/pull/5408) ([alesapin](https://github.com/alesapin))
* Добавлена возможность делать подстановки в запросах CREATE, FILL и DROP в тестах производительности [#5367](https://github.com/ClickHouse/ClickHouse/pull/5367) ([Olga Khvostikova](https://github.com/stavrolia))

<div id="clickhouse-release-19-7">
  ## Релиз ClickHouse 19.7
</div>

<div id="clickhouse-release-19-7-5-29-2019-07-05">
  ### Релиз ClickHouse 19.7.5.29, 2019-07-05
</div>

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

* Исправлена проблема с регрессией производительности в некоторых запросах с JOIN. [#5192](https://github.com/ClickHouse/ClickHouse/pull/5192) ([Winter Zhang](https://github.com/zhang2014))

<div id="clickhouse-release-19-7-5-27-2019-06-09">
  ### Релиз ClickHouse 19.7.5.27, 2019-06-09
</div>

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

* Добавлены функции для битмапов `bitmapHasAny` и `bitmapHasAll`, аналогичные функциям `hasAny` и `hasAll` для массивов. [#5279](https://github.com/ClickHouse/ClickHouse/pull/5279) ([Sergi Vladykin](https://github.com/svladykin))

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

* Исправлен segfault при использовании `minmax` INDEX со значением NULL. [#5246](https://github.com/ClickHouse/ClickHouse/pull/5246) ([Nikita Vasilev](https://github.com/nikvas0))
* Все входные столбцы в LIMIT BY теперь помечаются как обязательные в выходных данных. Это исправляет ошибку 'Not found column' в некоторых распределённых запросах. [#5407](https://github.com/ClickHouse/ClickHouse/pull/5407) ([Constantin S. Pan](https://github.com/kvap))
* Исправлена ошибка "Column '0' already exists" в `SELECT .. PREWHERE` для столбца с DEFAULT [#5397](https://github.com/ClickHouse/ClickHouse/pull/5397) ([proller](https://github.com/proller))
* Исправлен запрос `ALTER MODIFY TTL` для `ReplicatedMergeTree`. [#5539](https://github.com/ClickHouse/ClickHouse/pull/5539/commits) ([Anton Popov](https://github.com/CurtizJ))
* Сервер больше не падает, если не удалось запустить консьюмеры Kafka. [#5285](https://github.com/ClickHouse/ClickHouse/pull/5285) ([Ivan](https://github.com/abyss7))
* Исправлено некорректное поведение функций битмап, из-за которого они возвращали неверный результат. [#5359](https://github.com/ClickHouse/ClickHouse/pull/5359) ([Andy Yang](https://github.com/andyyzh))
* Исправлен `element_count` для хешированного словаря (без учёта дубликатов) [#5440](https://github.com/ClickHouse/ClickHouse/pull/5440) ([Azat Khuzhin](https://github.com/azat))
* В качестве имени часового пояса теперь используется содержимое переменной окружения TZ. Это помогает в некоторых случаях корректно определять часовой пояс по умолчанию.[#5443](https://github.com/ClickHouse/ClickHouse/pull/5443) ([Ivan](https://github.com/abyss7))
* Убрана попытка преобразования целых чисел в функциях `dictGetT`, так как это работает некорректно. Вместо этого генерируется исключение. [#5446](https://github.com/ClickHouse/ClickHouse/pull/5446) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлены settings в HTTP request ExternalData. [#5455](https://github.com/ClickHouse/ClickHouse/pull/5455) ([Danila
  Kutenin](https://github.com/danlark1))
* Исправлена ошибка, из-за которой части удалялись только из FS без удаления их из Zookeeper. [#5520](https://github.com/ClickHouse/ClickHouse/pull/5520) ([alesapin](https://github.com/alesapin))
* Исправлен segfault в функции `bitmapHasAny`. [#5528](https://github.com/ClickHouse/ClickHouse/pull/5528) ([Zhichang Yu](https://github.com/yuzhichang))
* Исправлена ошибка, из-за которой пул соединений репликации не выполнял повторную попытку разрешения хоста, даже если кэш DNS был сброшен. [#5534](https://github.com/ClickHouse/ClickHouse/pull/5534) ([alesapin](https://github.com/alesapin))
* Исправлен запрос `DROP INDEX IF EXISTS`. Теперь запрос `ALTER TABLE ... DROP INDEX IF EXISTS ...` не генерирует исключение, если указанный индекс не существует. [#5524](https://github.com/ClickHouse/ClickHouse/pull/5524) ([Gleb Novikov](https://github.com/NanoBjorn))
* Исправлено определение супертипа столбца для union all. В некоторых случаях это приводило к несогласованности данных и типов результирующих столбцов. [#5503](https://github.com/ClickHouse/ClickHouse/pull/5503) ([Artem Zuikov](https://github.com/4ertus2))
* ZNONODE теперь пропускается при обработке DDL-запроса. Раньше, если другой узел удалял znode в очереди задач, тот, который
  не обработал его, но уже получил список дочерних элементов, завершал поток DDLWorker. [#5489](https://github.com/ClickHouse/ClickHouse/pull/5489) ([Azat Khuzhin](https://github.com/azat))
* Исправлена вставка в таблицу Distributed() с MATERIALIZED-столбцом. [#5429](https://github.com/ClickHouse/ClickHouse/pull/5429) ([Azat Khuzhin](https://github.com/azat))

<div id="clickhouse-release-19-7-3-9-2019-05-30">
  ### Релиз ClickHouse 19.7.3.9, 2019-05-30
</div>

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

* Добавлена возможность ограничивать диапазон значений настройки, которые может задавать пользователь.
  Эти ограничения можно задать в профиле настроек пользователя.
  [#4931](https://github.com/ClickHouse/ClickHouse/pull/4931) ([Vitaly
  Baranov](https://github.com/vitlibar))
* Добавлена вторая версия функции `groupUniqArray` с необязательным
  параметром `max_size`, который ограничивает размер результирующего массива. Такое
  поведение аналогично функции `groupArray(max_size)(x)`.
  [#5026](https://github.com/ClickHouse/ClickHouse/pull/5026) ([Guillaume
  Tassery](https://github.com/YiuRULE))
* Для входных форматов файлов TSVWithNames/CSVWithNames порядок столбцов теперь
  можно определять по заголовку файла. Это задаётся
  параметром `input_format_with_names_use_header`.
  [#5081](https://github.com/ClickHouse/ClickHouse/pull/5081)
  ([Alexander](https://github.com/Akazz))

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

* Падение с uncompressed\_cache + JOIN во время слияния (#5197)
  [#5133](https://github.com/ClickHouse/ClickHouse/pull/5133) ([Danila
  Kutenin](https://github.com/danlark1))
* Сегментационная ошибка при запросе к системным таблицам из clickhouse-client. #5066
  [#5127](https://github.com/ClickHouse/ClickHouse/pull/5127)
  ([Ivan](https://github.com/abyss7))
* Потеря данных при высокой нагрузке через KafkaEngine (#4736)
  [#5080](https://github.com/ClickHouse/ClickHouse/pull/5080)
  ([Ivan](https://github.com/abyss7))
* Исправлено очень редкое состояние гонки данных, которое могло возникнуть при выполнении запроса с UNION ALL, включающего как минимум два SELECT из system.columns, system.tables, system.parts, system.parts\_tables или таблиц семейства Merge, и одновременном выполнении ALTER для столбцов соответствующих таблиц. [#5189](https://github.com/ClickHouse/ClickHouse/pull/5189) ([alexey-milovidov](https://github.com/alexey-milovidov))

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

* Для сортировки по одному числовому столбцу в `ORDER BY` без
  `LIMIT` теперь используется поразрядная сортировка. [#5106](https://github.com/ClickHouse/ClickHouse/pull/5106),
  [#4439](https://github.com/ClickHouse/ClickHouse/pull/4439)
  ([Evgenii Pravda](https://github.com/kvinty),
  [alexey-milovidov](https://github.com/alexey-milovidov))

<div id="documentation">
  #### Документация
</div>

* Документация по некоторым движкам таблиц переведена на китайский язык.
  [#5107](https://github.com/ClickHouse/ClickHouse/pull/5107),
  [#5094](https://github.com/ClickHouse/ClickHouse/pull/5094),
  [#5087](https://github.com/ClickHouse/ClickHouse/pull/5087)
  ([张风啸](https://github.com/AlexZFX)),
  [#5068](https://github.com/ClickHouse/ClickHouse/pull/5068) ([never
  lee](https://github.com/neverlee))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Исправлен вывод символов UTF-8 в `clickhouse-test`.
  [#5084](https://github.com/ClickHouse/ClickHouse/pull/5084)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен параметр командной строки для clickhouse-client, чтобы всегда загружать
  данные автодополнения. [#5102](https://github.com/ClickHouse/ClickHouse/pull/5102)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Устранены некоторые предупреждения PVS-Studio.
  [#5082](https://github.com/ClickHouse/ClickHouse/pull/5082)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Обновлён LZ4 [#5040](https://github.com/ClickHouse/ClickHouse/pull/5040) ([Danila
  Kutenin](https://github.com/danlark1))
* gperf добавлен в требования к сборке для предстоящего pull request #5030.
  [#5110](https://github.com/ClickHouse/ClickHouse/pull/5110)
  ([proller](https://github.com/proller))

<div id="clickhouse-release-19-6">
  ## Релиз ClickHouse 19.6
</div>

<div id="clickhouse-release-19-6-3-18-2019-06-13">
  ### Релиз ClickHouse 19.6.3.18, 2019-06-13
</div>

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

* Исправлен pushdown для условия IN в запросах из табличных функций `mysql` и `odbc` и соответствующих движков таблиц. Тем самым исправлены #3540 и #2384. [#5313](https://github.com/ClickHouse/ClickHouse/pull/5313) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена взаимная блокировка в Zookeeper. [#5297](https://github.com/ClickHouse/ClickHouse/pull/5297) ([github1youlc](https://github.com/github1youlc))
* Разрешены значения Decimal в кавычках в CSV. [#5284](https://github.com/ClickHouse/ClickHouse/pull/5284) ([Artem Zuikov](https://github.com/4ertus2)
* Запрещено преобразование float Inf/NaN в Decimals (с выдачей исключения). [#5282](https://github.com/ClickHouse/ClickHouse/pull/5282) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена гонка данных в запросе rename. [#5247](https://github.com/ClickHouse/ClickHouse/pull/5247) ([Winter Zhang](https://github.com/zhang2014))
* Временно отключён LFAlloc. Использование LFAlloc может приводить к большому числу MAP\_FAILED при выделении UncompressedCache и, как следствие, к сбоям запросов на серверах с высокой нагрузкой. [cfdba93](https://github.com/ClickHouse/ClickHouse/commit/cfdba938ce22f16efeec504f7f90206a515b1280)([Danila Kutenin](https://github.com/danlark1))

<div id="clickhouse-release-19-6-2-11-2019-05-13">
  ### Релиз ClickHouse 19.6.2.11, 2019-05-13
</div>

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

* TTL-выражения для столбцов и таблиц. [#4212](https://github.com/ClickHouse/ClickHouse/pull/4212) ([Anton Popov](https://github.com/CurtizJ))
* Добавлена поддержка сжатия `brotli` для HTTP-ответов (Accept-Encoding: br) [#4388](https://github.com/ClickHouse/ClickHouse/pull/4388) ([Mikhail](https://github.com/fandyushin))
* Добавлена новая функция `isValidUTF8` для проверки того, является ли набор байтов корректно закодированным в UTF-8. [#4934](https://github.com/ClickHouse/ClickHouse/pull/4934) ([Danila Kutenin](https://github.com/danlark1))
* Добавлена новая политика балансировки нагрузки `first_or_random`, которая отправляет запросы на первый указанный хост, а если он недоступен — на случайные хосты сегмента. Полезна для топологий с перекрёстной репликацией. [#5012](https://github.com/ClickHouse/ClickHouse/pull/5012) ([nvartolomei](https://github.com/nvartolomei))

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

* Добавлена настройка `index_granularity_bytes` (адаптивная гранулярность индекса) для таблиц семейства MergeTree\*. [#4826](https://github.com/ClickHouse/ClickHouse/pull/4826) ([alesapin](https://github.com/alesapin))

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

* Добавлена поддержка неконстантных и отрицательных аргументов размера и длины для функции `substringUTF8`. [#4989](https://github.com/ClickHouse/ClickHouse/pull/4989) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Отключён push-down в правую таблицу при left JOIN, в левую таблицу при right JOIN и в обе таблицы при full JOIN. Это исправляет неверный результат JOIN в некоторых случаях. [#4846](https://github.com/ClickHouse/ClickHouse/pull/4846) ([Ivan](https://github.com/abyss7))
* `clickhouse-copier`: автоматическая загрузка конфигурации задачи из параметра `--task-file` [#4876](https://github.com/ClickHouse/ClickHouse/pull/4876) ([proller](https://github.com/proller))
* Добавлен обработчик опечаток для фабрики хранилищ и фабрики табличных функций. [#4891](https://github.com/ClickHouse/ClickHouse/pull/4891) ([Danila Kutenin](https://github.com/danlark1))
* Поддержка звёздочек и квалифицированных звёздочек для множественных JOIN без подзапросов [#4898](https://github.com/ClickHouse/ClickHouse/pull/4898) ([Artem Zuikov](https://github.com/4ertus2))
* Сообщение об ошибке отсутствующего столбца сделано более понятным для пользователя. [#4915](https://github.com/ClickHouse/ClickHouse/pull/4915) ([Artem Zuikov](https://github.com/4ertus2))

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

* Существенное ускорение ASOF JOIN [#4924](https://github.com/ClickHouse/ClickHouse/pull/4924) ([Martijn Bakker](https://github.com/Gladdy))

<div id="backward-incompatible-changes">
  #### Обратно несовместимые изменения
</div>

* HTTP-заголовок `Query-Id` был переименован в `X-ClickHouse-Query-Id` для согласованности. [#4972](https://github.com/ClickHouse/ClickHouse/pull/4972) ([Mikhail](https://github.com/fandyushin))

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

* Исправлено потенциальное разыменование нулевого указателя в `clickhouse-copier`. [#4900](https://github.com/ClickHouse/ClickHouse/pull/4900) ([proller](https://github.com/proller))
* Исправлена ошибка в запросе с JOIN + ARRAY JOIN [#4938](https://github.com/ClickHouse/ClickHouse/pull/4938) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено зависание при запуске сервера, когда словарь зависит от другого словаря через базу данных с движком Dictionary. [#4962](https://github.com/ClickHouse/ClickHouse/pull/4962) ([Vitaly Baranov](https://github.com/vitlibar))
* Частично исправлен режим distributed\_product\_mode = local. Теперь можно использовать столбцы локальных таблиц в WHERE/HAVING/ORDER BY/... через псевдонимы таблиц. Если у таблицы нет псевдонима, генерируется исключение. Доступ к столбцам без псевдонимов таблиц пока невозможен. [#4986](https://github.com/ClickHouse/ClickHouse/pull/4986) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлен потенциально неверный результат для `SELECT DISTINCT` с `JOIN` [#5001](https://github.com/ClickHouse/ClickHouse/pull/5001) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено очень редкое состояние гонки данных, которое могло возникать при выполнении запроса с UNION ALL, включающего как минимум два SELECT из system.columns, system.tables, system.parts, system.parts\_tables или таблиц семейства Merge, при одновременном выполнении ALTER столбцов соответствующих таблиц. [#5189](https://github.com/ClickHouse/ClickHouse/pull/5189) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Исправлены падения тестов при запуске clickhouse-server на другом хосте [#4713](https://github.com/ClickHouse/ClickHouse/pull/4713) ([Vasily Nemkov](https://github.com/Enmk))
* clickhouse-test: отключены управляющие последовательности цветов в среде без TTY. [#4937](https://github.com/ClickHouse/ClickHouse/pull/4937) ([alesapin](https://github.com/alesapin))
* clickhouse-test: разрешено использовать любую тестовую базу данных (удалена квалификация `test.` там, где это возможно) [#5008](https://github.com/ClickHouse/ClickHouse/pull/5008) ([proller](https://github.com/proller))
* Исправлены ошибки UBSan [#5037](https://github.com/ClickHouse/ClickHouse/pull/5037) ([Vitaly Baranov](https://github.com/vitlibar))
* В ClickHouse добавлен Yandex LFAlloc, чтобы по-разному выделять память для данных MarkCache и UncompressedCache и надежнее выявлять segfault [#4995](https://github.com/ClickHouse/ClickHouse/pull/4995) ([Danila Kutenin](https://github.com/danlark1))
* Утилита на Python для упрощения работы с бэкпортами и журналами изменений. [#4949](https://github.com/ClickHouse/ClickHouse/pull/4949) ([Ivan](https://github.com/abyss7))

<div id="clickhouse-release-19-5">
  ## Релиз ClickHouse 19.5
</div>

<div id="clickhouse-release-19-5-4-22-2019-05-13">
  ### Релиз ClickHouse 19.5.4.22, 2019-05-13
</div>

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

* Исправлен возможный сбой в функциях bitmap\* [#5220](https://github.com/ClickHouse/ClickHouse/pull/5220) [#5228](https://github.com/ClickHouse/ClickHouse/pull/5228) ([Andy Yang](https://github.com/andyyzh))
* Исправлено крайне редкое состояние гонки данных, которое могло возникнуть при выполнении запроса с UNION ALL, включающего как минимум два SELECT из system.columns, system.tables, system.parts, system.parts\_tables или таблиц семейства Merge, при одновременном выполнении ALTER для столбцов связанных таблиц. [#5189](https://github.com/ClickHouse/ClickHouse/pull/5189) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка `Set for IN is not created yet in case of using single LowCardinality column in the left part of IN`. Она возникала, если столбец LowCardinality был частью первичного ключа. #5031 [#5154](https://github.com/ClickHouse/ClickHouse/pull/5154) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Изменено поведение функции retention: если строка удовлетворяла и первому, и N-му условию, в состояние данных добавлялось только первое выполненное условие. Теперь в состояние данных добавляются все условия, которым удовлетворяет строка. [#5119](https://github.com/ClickHouse/ClickHouse/pull/5119) ([小路](https://github.com/nicelulu))

<div id="clickhouse-release-19-5-3-8-2019-04-18">
  ### Релиз ClickHouse 19.5.3.8, 2019-04-18
</div>

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

* Тип настройки `max_partitions_per_insert_block` исправлен: вместо boolean теперь используется UInt64. [#5028](https://github.com/ClickHouse/ClickHouse/pull/5028) ([Mohammad Hossein Sekhavat](https://github.com/mhsekhavat))

<div id="clickhouse-release-19-5-2-6-2019-04-15">
  ### Релиз ClickHouse 19.5.2.6, 2019-04-15
</div>

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

* Добавлена поддержка множественного сопоставления с [Hyperscan](https://github.com/intel/hyperscan) для регулярных выражений (функции `multiMatchAny`, `multiMatchAnyIndex`, `multiFuzzyMatchAny`, `multiFuzzyMatchAnyIndex`). [#4780](https://github.com/ClickHouse/ClickHouse/pull/4780), [#4841](https://github.com/ClickHouse/ClickHouse/pull/4841) ([Danila Kutenin](https://github.com/danlark1))
* Добавлена функция `multiSearchFirstPosition`. [#4780](https://github.com/ClickHouse/ClickHouse/pull/4780) ([Danila Kutenin](https://github.com/danlark1))
* Реализован предопределённый фильтр выражения для каждой строки в таблицах. [#4792](https://github.com/ClickHouse/ClickHouse/pull/4792) ([Ivan](https://github.com/abyss7))
* Добавлен новый тип индекса пропуска данных на основе bloom-фильтров (может использоваться для функций `equal`, `in` и `like`). [#4499](https://github.com/ClickHouse/ClickHouse/pull/4499) ([Nikita Vasilev](https://github.com/nikvas0))
* Добавлен `ASOF JOIN`, который позволяет выполнять запросы с объединением по последнему известному значению. [#4774](https://github.com/ClickHouse/ClickHouse/pull/4774) [#4867](https://github.com/ClickHouse/ClickHouse/pull/4867) [#4863](https://github.com/ClickHouse/ClickHouse/pull/4863) [#4875](https://github.com/ClickHouse/ClickHouse/pull/4875) ([Martijn Bakker](https://github.com/Gladdy), [Artem Zuikov](https://github.com/4ertus2))
* Переписывание нескольких `COMMA JOIN` в `CROSS JOIN`. Затем, если возможно, они переписываются в `INNER JOIN`. [#4661](https://github.com/ClickHouse/ClickHouse/pull/4661) ([Artem Zuikov](https://github.com/4ertus2))

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

* `topK` и `topKWeighted` теперь поддерживают пользовательский `loadFactor` (исправляет проблему [#4252](https://github.com/ClickHouse/ClickHouse/issues/4252)). [#4634](https://github.com/ClickHouse/ClickHouse/pull/4634) ([Kirill Danshin](https://github.com/kirillDanshin))
* Разрешено использовать `parallel_replicas_count > 1` даже для таблиц без сэмплирования (для них эта настройка просто игнорируется). В предыдущих версиях это приводило к исключению. [#4637](https://github.com/ClickHouse/ClickHouse/pull/4637) ([Alexey Elymanov](https://github.com/digitalist))
* Поддержка `CREATE OR REPLACE VIEW`. Позволяет создать представление или задать новое определение одним оператором. [#4654](https://github.com/ClickHouse/ClickHouse/pull/4654) ([Boris Granveaud](https://github.com/bgranvea))
* Движок таблицы `Buffer` теперь поддерживает `PREWHERE`. [#4671](https://github.com/ClickHouse/ClickHouse/pull/4671) ([Yangkuan Liu](https://github.com/LiuYangkuan))
* Добавлена возможность запускать реплицированную таблицу без метаданных в ZooKeeper в режиме `readonly`. [#4691](https://github.com/ClickHouse/ClickHouse/pull/4691) ([alesapin](https://github.com/alesapin))
* Исправлено мерцание индикатора выполнения в clickhouse-client. Проблема была особенно заметна при использовании `FORMAT Null` с потоковыми запросами. [#4811](https://github.com/ClickHouse/ClickHouse/pull/4811) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена возможность отключать функции с библиотекой `hyperscan` для отдельных пользователей, чтобы ограничить потенциально чрезмерное и неконтролируемое потребление ресурсов. [#4816](https://github.com/ClickHouse/ClickHouse/pull/4816) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Во все сообщения об ошибках добавлен номер версии. [#4824](https://github.com/ClickHouse/ClickHouse/pull/4824) ([proller](https://github.com/proller))
* Добавлено ограничение для функций `multiMatch`, требующее, чтобы размер строки помещался в `unsigned int`. Также добавлено ограничение на число аргументов для функций `multiSearch`. [#4834](https://github.com/ClickHouse/ClickHouse/pull/4834) ([Danila Kutenin](https://github.com/danlark1))
* Улучшено использование рабочего буфера и обработка ошибок в Hyperscan. [#4866](https://github.com/ClickHouse/ClickHouse/pull/4866) ([Danila Kutenin](https://github.com/danlark1))
* `system.graphite_detentions` теперь заполняется из конфигурации таблиц с движком `*GraphiteMergeTree`. [#4584](https://github.com/ClickHouse/ClickHouse/pull/4584) ([Mikhail f. Shiryaev](https://github.com/Felixoid))
* Функция `trigramDistance` переименована в `ngramDistance`, а также добавлены новые функции с `CaseInsensitive` и `UTF`. [#4602](https://github.com/ClickHouse/ClickHouse/pull/4602) ([Danila Kutenin](https://github.com/danlark1))
* Улучшен расчет индексов пропуска данных. [#4640](https://github.com/ClickHouse/ClickHouse/pull/4640) ([Nikita Vasilev](https://github.com/nikvas0))
* Обычные столбцы, а также столбцы `DEFAULT`, `MATERIALIZED` и `ALIAS` теперь хранятся в одном списке (исправляет проблему [#2867](https://github.com/ClickHouse/ClickHouse/issues/2867)). [#4707](https://github.com/ClickHouse/ClickHouse/pull/4707) ([Alex Zatelepin](https://github.com/ztlpn))

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

* Устранён вызов `std::terminate` в случае сбоя выделения памяти. Теперь, как и ожидалось, генерируется исключение `std::bad_alloc`. [#4665](https://github.com/ClickHouse/ClickHouse/pull/4665) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено чтение `capnproto` из буфера. Иногда не удавалось успешно загрузить файлы по HTTP. [#4674](https://github.com/ClickHouse/ClickHouse/pull/4674) ([Vladislav](https://github.com/smirnov-vs))
* Исправлена ошибка `Unknown log entry type: 0`, возникавшая после выполнения запроса `OPTIMIZE TABLE FINAL`. [#4683](https://github.com/ClickHouse/ClickHouse/pull/4683) ([Amos Bird](https://github.com/amosbird))
* Некорректные аргументы в функциях `hasAny` и `hasAll` могут приводить к ошибке сегментации. [#4698](https://github.com/ClickHouse/ClickHouse/pull/4698) ([alexey-milovidov](https://github.com/alexey-milovidov))
* При выполнении запроса `DROP DATABASE dictionary` возможна взаимная блокировка. [#4701](https://github.com/ClickHouse/ClickHouse/pull/4701) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено неопределённое поведение функций `median` и `quantile`. [#4702](https://github.com/ClickHouse/ClickHouse/pull/4702) ([hcz](https://github.com/hczhcz))
* Исправлено определение уровня сжатия, если `network_compression_method` указан в нижнем регистре. Ошибка в v19.1. [#4706](https://github.com/ClickHouse/ClickHouse/pull/4706) ([proller](https://github.com/proller))
* Устранено игнорирование настройки `<timezone>UTC</timezone>` (исправлена проблема [#4658](https://github.com/ClickHouse/ClickHouse/issues/4658)). [#4718](https://github.com/ClickHouse/ClickHouse/pull/4718) ([proller](https://github.com/proller))
* Исправлено поведение функции `histogram` при работе с таблицами `Distributed`. [#4741](https://github.com/ClickHouse/ClickHouse/pull/4741) ([olegkv](https://github.com/olegkv))
* Исправлена ошибка tsan `destroy of a locked mutex`. [#4742](https://github.com/ClickHouse/ClickHouse/pull/4742) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен отчет TSan при завершении работы, вызванный состоянием гонки при использовании системных журналов. Исправлено потенциальное обращение к уже освобожденной памяти при завершении работы с включенным part\_log. [#4758](https://github.com/ClickHouse/ClickHouse/pull/4758) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена перепроверка частей в `ReplicatedMergeTreeAlterThread` в случае ошибки. [#4772](https://github.com/ClickHouse/ClickHouse/pull/4772) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Арифметические операции над промежуточными состояниями агрегатных функций не работали с константными аргументами (например, с результатами подзапроса). [#4776](https://github.com/ClickHouse/ClickHouse/pull/4776) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Всегда заключайте имена столбцов в метаданных в обратные кавычки. Иначе невозможно создать таблицу, в которой есть столбец с именем `index` (сервер не перезапустится из-за некорректного запроса `ATTACH` в метаданных). [#4782](https://github.com/ClickHouse/ClickHouse/pull/4782) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен сбой при `ALTER ... MODIFY ORDER BY` для таблицы `Distributed`. [#4790](https://github.com/ClickHouse/ClickHouse/pull/4790) ([TCeason](https://github.com/TCeason))
* Исправлен segfault в `JOIN ON` при включенном `enable_optimize_predicate_expression`. [#4794](https://github.com/ClickHouse/ClickHouse/pull/4794) ([Winter Zhang](https://github.com/zhang2014))
* Исправлена ошибка, из-за которой после обработки сообщения Protobuf из Kafka добавлялась лишняя строка. [#4808](https://github.com/ClickHouse/ClickHouse/pull/4808) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлено падение `JOIN` для не-`Nullable` и `Nullable` столбцов. Исправлены значения `NULL` в правых ключах в `ANY JOIN` + `join_use_nulls`. [#4815](https://github.com/ClickHouse/ClickHouse/pull/4815) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена ошибка сегментации в `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))
* Исправлено состояние гонки при выполнении `SELECT` из `system.tables`, если таблица одновременно переименовывается или изменяется. [#4836](https://github.com/ClickHouse/ClickHouse/pull/4836) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено состояние гонки при получении устаревшей части данных. [#4839](https://github.com/ClickHouse/ClickHouse/pull/4839) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено редкое состояние гонки, которое могло возникать при `RENAME` таблицы семейства MergeTree. [#4844](https://github.com/ClickHouse/ClickHouse/pull/4844) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка сегментации в функции `arrayIntersect`. Ошибка сегментации могла возникнуть, если функция вызывалась со смешанными константными и обычными аргументами. [#4847](https://github.com/ClickHouse/ClickHouse/pull/4847) ([Lixiang Qian](https://github.com/fancyqlx))
* Исправлено чтение из столбца `Array(LowCardinality)` в редком случае, когда он содержал длинную последовательность пустых массивов. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлено падение при `FULL/RIGHT JOIN` при выполнении JOIN по Nullable и не-Nullable полям. [#4855](https://github.com/ClickHouse/ClickHouse/pull/4855) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено исключение `No message received` при получении частей от других реплик. [#4856](https://github.com/ClickHouse/ClickHouse/pull/4856) ([alesapin](https://github.com/alesapin))
* Исправлен неверный результат работы функции `arrayIntersect` при наличии нескольких повторяющихся значений в одном массиве. [#4871](https://github.com/ClickHouse/ClickHouse/pull/4871) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлено состояние гонки при одновременном выполнении запросов `ALTER COLUMN`, которое могло приводить к сбою сервера (исправлена проблема [#3421](https://github.com/ClickHouse/ClickHouse/issues/3421)). [#4592](https://github.com/ClickHouse/ClickHouse/pull/4592) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлен некорректный результат в `FULL/RIGHT JOIN` при константном столбце. [#4723](https://github.com/ClickHouse/ClickHouse/pull/4723) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлены дубликаты в `GLOBAL JOIN` с символом `*`. [#4705](https://github.com/ClickHouse/ClickHouse/pull/4705) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено определение параметра в `ALTER MODIFY` для столбца `CODEC`, если тип столбца не указан. [#4883](https://github.com/ClickHouse/ClickHouse/pull/4883) ([alesapin](https://github.com/alesapin))
* Функции `cutQueryStringAndFragment()` и `queryStringAndFragment()` теперь корректно работают, если `URL` содержит фрагмент, но не содержит строки запроса. [#4894](https://github.com/ClickHouse/ClickHouse/pull/4894) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена редкая ошибка, возникающая, когда значение настройки `min_bytes_to_use_direct_io` больше нуля и потоку требуется сместить позицию чтения назад в файле столбца. [#4897](https://github.com/ClickHouse/ClickHouse/pull/4897) ([alesapin](https://github.com/alesapin))
* Исправлены некорректные типы аргументов для агрегатных функций с аргументами `LowCardinality` (исправлена проблема [#4919](https://github.com/ClickHouse/ClickHouse/issues/4919)). [#4922](https://github.com/ClickHouse/ClickHouse/pull/4922) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлена неверная квалификация имён в `GLOBAL JOIN`. [#4969](https://github.com/ClickHouse/ClickHouse/pull/4969) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлен результат функции `toISOWeek` для 1970 года. [#4988](https://github.com/ClickHouse/ClickHouse/pull/4988) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено дублирование запросов `DROP`, `TRUNCATE` и `OPTIMIZE` при выполнении с предложением `ON CLUSTER` для семейства таблиц `ReplicatedMergeTree*`. [#4991](https://github.com/ClickHouse/ClickHouse/pull/4991) ([alesapin](https://github.com/alesapin))

<div id="backward-incompatible-change">
  #### Обратно несовместимое изменение
</div>

* Параметр `insert_sample_with_metadata` переименован в `input_format_defaults_for_omitted_fields`. [#4771](https://github.com/ClickHouse/ClickHouse/pull/4771) ([Artem Zuikov](https://github.com/4ertus2))
* Добавлен параметр `max_partitions_per_insert_block` (по умолчанию имеет значение 100). Если вставляемый блок содержит большее число партиций, генерируется исключение. Установите значение 0, если хотите снять это ограничение (не рекомендуется). [#4845](https://github.com/ClickHouse/ClickHouse/pull/4845) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Функции множественного поиска были переименованы (`multiPosition` в `multiSearchAllPositions`, `multiSearch` в `multiSearchAny`, `firstMatch` в `multiSearchFirstIndex`). [#4780](https://github.com/ClickHouse/ClickHouse/pull/4780) ([Danila Kutenin](https://github.com/danlark1))

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

* Оптимизирован поисковый алгоритм Volnitsky за счёт инлайнинга, что даёт примерно 5–10% прироста производительности поиска для запросов с большим количеством искомых подстрок или множеством похожих биграмм. [#4862](https://github.com/ClickHouse/ClickHouse/pull/4862) ([Danila Kutenin](https://github.com/danlark1))
* Исправлена проблема с производительностью, возникавшая, когда значение настройки `use_uncompressed_cache` было больше нуля и все читаемые данные находились в кэше. [#4913](https://github.com/ClickHouse/ClickHouse/pull/4913) ([alesapin](https://github.com/alesapin))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Усилена debug-сборка: более детальные отображения памяти и ASLR; добавлена защита памяти для mark cache и индекса. Это позволяет находить больше ошибок повреждения памяти в случаях, когда ASan и MSan не справляются. [#4632](https://github.com/ClickHouse/ClickHouse/pull/4632) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена поддержка переменных cmake `ENABLE_PROTOBUF`, `ENABLE_PARQUET` и `ENABLE_BROTLI`, позволяющих включать и отключать указанные выше возможности (так же, как для librdkafka, mysql и т. д.). [#4669](https://github.com/ClickHouse/ClickHouse/pull/4669) ([Silviu Caragea](https://github.com/silviucpp))
* Добавлена возможность выводить список процессов и трассировки стека всех потоков, если некоторые запросы зависают после выполнения тестов. [#4675](https://github.com/ClickHouse/ClickHouse/pull/4675) ([alesapin](https://github.com/alesapin))
* Добавлены повторные попытки при ошибке `Connection loss` в `clickhouse-test`. [#4682](https://github.com/ClickHouse/ClickHouse/pull/4682) ([alesapin](https://github.com/alesapin))
* В скрипт packager добавлены сборка FreeBSD с Vagrant и сборка с Thread sanitizer. [#4712](https://github.com/ClickHouse/ClickHouse/pull/4712) [#4748](https://github.com/ClickHouse/ClickHouse/pull/4748) ([alesapin](https://github.com/alesapin))
* Теперь во время установки у пользователя запрашивается пароль для пользователя `'default'`. [#4725](https://github.com/ClickHouse/ClickHouse/pull/4725) ([proller](https://github.com/proller))
* Подавлено предупреждение в библиотеке `rdkafka`. [#4740](https://github.com/ClickHouse/ClickHouse/pull/4740) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена возможность сборки без SSL. [#4750](https://github.com/ClickHouse/ClickHouse/pull/4750) ([proller](https://github.com/proller))
* Добавлен способ запускать образ `clickhouse-server` от имени произвольного пользователя. [#4753](https://github.com/ClickHouse/ClickHouse/pull/4753) ([Mikhail f. Shiryaev](https://github.com/Felixoid))
* Обновлён contrib boost до 1.69. [#4793](https://github.com/ClickHouse/ClickHouse/pull/4793) ([proller](https://github.com/proller))
* Отключено использование `mremap` при компиляции с Thread Sanitizer. Как ни странно, TSan не перехватывает `mremap` (хотя перехватывает `mmap`, `munmap`), что приводит к ложноположительным срабатываниям. Исправлен отчёт TSan в тестах с сохранением состояния. [#4859](https://github.com/ClickHouse/ClickHouse/pull/4859) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен тест, проверяющий использование схемы формата через HTTP-интерфейс. [#4864](https://github.com/ClickHouse/ClickHouse/pull/4864) ([Vitaly Baranov](https://github.com/vitlibar))

<div id="clickhouse-release-19-4">
  ## Релиз ClickHouse 19.4
</div>

<div id="clickhouse-release-19-4-4-33-2019-04-17">
  ### Релиз ClickHouse 19.4.4.33, 2019-04-17
</div>

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

* Предотвращён вызов `std::terminate` в случае ошибки выделения памяти. Теперь, как и ожидается, генерируется исключение `std::bad_alloc`. [#4665](https://github.com/ClickHouse/ClickHouse/pull/4665) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено чтение `capnproto` из буфера. Иногда файлы не удавалось успешно загрузить по HTTP. [#4674](https://github.com/ClickHouse/ClickHouse/pull/4674) ([Vladislav](https://github.com/smirnov-vs))
* Исправлена ошибка `Unknown log entry type: 0`, возникавшая при выполнении запроса `OPTIMIZE TABLE FINAL`. [#4683](https://github.com/ClickHouse/ClickHouse/pull/4683) ([Amos Bird](https://github.com/amosbird))
* Некорректные аргументы функций `hasAny` и `hasAll` могут приводить к segfault. [#4698](https://github.com/ClickHouse/ClickHouse/pull/4698) ([alexey-milovidov](https://github.com/alexey-milovidov))
* При выполнении запроса `DROP DATABASE dictionary` могла возникать взаимная блокировка. [#4701](https://github.com/ClickHouse/ClickHouse/pull/4701) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено неопределённое поведение функций `median` и `quantile`. [#4702](https://github.com/ClickHouse/ClickHouse/pull/4702) ([hcz](https://github.com/hczhcz))
* Исправлено определение уровня сжатия, если `network_compression_method` указан в нижнем регистре. Ошибка появилась в v19.1. [#4706](https://github.com/ClickHouse/ClickHouse/pull/4706) ([proller](https://github.com/proller))
* Устранено игнорирование настройки `<timezone>UTC</timezone>` (исправлена проблема [#4658](https://github.com/ClickHouse/ClickHouse/issues/4658)). [#4718](https://github.com/ClickHouse/ClickHouse/pull/4718) ([proller](https://github.com/proller))
* Исправлено поведение функции `histogram` при работе с таблицами `Distributed`. [#4741](https://github.com/ClickHouse/ClickHouse/pull/4741) ([olegkv](https://github.com/olegkv))
* Исправлен отчёт tsan `destroy of a locked mutex`. [#4742](https://github.com/ClickHouse/ClickHouse/pull/4742) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено сообщение TSan при завершении работы из-за race condition при использовании системных журналов. Исправлено потенциальное use-after-free при завершении работы, когда включен part\_log. [#4758](https://github.com/ClickHouse/ClickHouse/pull/4758) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена повторная проверка частей в `ReplicatedMergeTreeAlterThread` при возникновении ошибки. [#4772](https://github.com/ClickHouse/ClickHouse/pull/4772) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Арифметические операции с промежуточными состояниями агрегатных функций не работали для константных аргументов (например, результатов подзапросов). [#4776](https://github.com/ClickHouse/ClickHouse/pull/4776) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Всегда заключайте имена столбцов в метаданных в обратные кавычки. В противном случае будет невозможно создать таблицу со столбцом с именем `index` (сервер не перезапустится из-за некорректного запроса `ATTACH` в метаданных). [#4782](https://github.com/ClickHouse/ClickHouse/pull/4782) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено падение в `ALTER ... MODIFY ORDER BY` для таблицы `Distributed`. [#4790](https://github.com/ClickHouse/ClickHouse/pull/4790) ([TCeason](https://github.com/TCeason))
* Исправлен segfault при `JOIN ON` с включенным `enable_optimize_predicate_expression`. [#4794](https://github.com/ClickHouse/ClickHouse/pull/4794) ([Winter Zhang](https://github.com/zhang2014))
* Исправлена ошибка, из-за которой после обработки сообщения Protobuf из Kafka добавлялась лишняя строка. [#4808](https://github.com/ClickHouse/ClickHouse/pull/4808) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена ошибка сегментации в `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))
* Исправлена гонка в `SELECT` из `system.tables`, если таблица одновременно переименовывается или изменяется. [#4836](https://github.com/ClickHouse/ClickHouse/pull/4836) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено состояние гонки при получении уже устаревшей части данных. [#4839](https://github.com/ClickHouse/ClickHouse/pull/4839) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена редкая состояние гонки, которое могло возникать при `RENAME` таблицы семейства MergeTree. [#4844](https://github.com/ClickHouse/ClickHouse/pull/4844) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка сегментации в функции `arrayIntersect`. Она могла возникнуть, если функция вызывалась со смешанными константными и обычными аргументами. [#4847](https://github.com/ClickHouse/ClickHouse/pull/4847) ([Lixiang Qian](https://github.com/fancyqlx))
* Исправлено чтение из столбца `Array(LowCardinality)` в редком случае, когда он содержал длинную последовательность пустых массивов. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлено исключение `No message received` при получении частей от других реплик. [#4856](https://github.com/ClickHouse/ClickHouse/pull/4856) ([alesapin](https://github.com/alesapin))
* Исправлен некорректный результат функции `arrayIntersect` в случае наличия нескольких повторяющихся значений в одном массиве. [#4871](https://github.com/ClickHouse/ClickHouse/pull/4871) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлено состояние гонки при одновременном выполнении запросов `ALTER COLUMN`, которое могло привести к аварийному завершению сервера (исправлена проблема [#3421](https://github.com/ClickHouse/ClickHouse/issues/3421)). [#4592](https://github.com/ClickHouse/ClickHouse/pull/4592) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлено определение параметров в `ALTER MODIFY` для столбца `CODEC`, если тип столбца не указан. [#4883](https://github.com/ClickHouse/ClickHouse/pull/4883) ([alesapin](https://github.com/alesapin))
* Функции `cutQueryStringAndFragment()` и `queryStringAndFragment()` теперь корректно работают, если `URL` содержит фрагмент, но не содержит строки запроса. [#4894](https://github.com/ClickHouse/ClickHouse/pull/4894) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправлена редкая ошибка, возникавшая при ненулевом значении настройки `min_bytes_to_use_direct_io`, когда потоку требовалось переместиться назад в файле столбца. [#4897](https://github.com/ClickHouse/ClickHouse/pull/4897) ([alesapin](https://github.com/alesapin))
* Исправлены неверные типы аргументов у агрегатных функций с аргументами `LowCardinality` (исправление проблемы [#4919](https://github.com/ClickHouse/ClickHouse/issues/4919)). [#4922](https://github.com/ClickHouse/ClickHouse/pull/4922) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлен результат работы функции `toISOWeek` для 1970 года. [#4988](https://github.com/ClickHouse/ClickHouse/pull/4988) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено дублирование запросов `DROP`, `TRUNCATE` и `OPTIMIZE` при выполнении с использованием предложения `ON CLUSTER` для семейства таблиц `ReplicatedMergeTree*`. [#4991](https://github.com/ClickHouse/ClickHouse/pull/4991) ([alesapin](https://github.com/alesapin))

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

* Обычные столбцы, а также столбцы `DEFAULT`, `MATERIALIZED` и `ALIAS` теперь хранятся в одном списке (исправлена проблема [#2867](https://github.com/ClickHouse/ClickHouse/issues/2867)). [#4707](https://github.com/ClickHouse/ClickHouse/pull/4707) ([Alex Zatelepin](https://github.com/ztlpn))

<div id="clickhouse-release-19-4-3-11-2019-04-02">
  ### Релиз ClickHouse 19.4.3.11, 2019-04-02
</div>

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

* Исправлен сбой в `FULL/RIGHT JOIN` при JOIN по Nullable- и не-Nullable-полям. [#4855](https://github.com/ClickHouse/ClickHouse/pull/4855) ([Artem Zuikov](https://github.com/4ertus2))
* Устранена ошибка сегментации в `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Добавлена возможность запускать образ clickhouse-server от имени произвольного пользователя. [#4753](https://github.com/ClickHouse/ClickHouse/pull/4753) ([Mikhail f. Shiryaev](https://github.com/Felixoid))

<div id="clickhouse-release-19-4-2-7-2019-03-30">
  ### Релиз ClickHouse 19.4.2.7, 2019-03-30
</div>

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

* Исправлено чтение из столбца `Array(LowCardinality)` в редком случае, когда он содержал длинную последовательность пустых массивов. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="clickhouse-release-19-4-1-3-2019-03-19">
  ### Релиз ClickHouse 19.4.1.3, 2019-03-19
</div>

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

* Исправлена обработка удалённых запросов, содержащих одновременно `LIMIT BY` и `LIMIT`. Ранее, если в удалённом запросе использовались `LIMIT BY` и `LIMIT`, `LIMIT` мог применяться раньше `LIMIT BY`, что приводило к чрезмерно отфильтрованному результату. [#4708](https://github.com/ClickHouse/ClickHouse/pull/4708) ([Constantin S. Pan](https://github.com/kvap))

<div id="clickhouse-release-19-4-0-49-2019-03-09">
  ### Релиз ClickHouse 19.4.0.49, 2019-03-09
</div>

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

* Добавлена полная поддержка формата `Protobuf` (ввод и вывод, вложенные структуры данных). [#4174](https://github.com/ClickHouse/ClickHouse/pull/4174) [#4493](https://github.com/ClickHouse/ClickHouse/pull/4493) ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлены функции для работы с битмапами на базе Roaring Bitmaps. [#4207](https://github.com/ClickHouse/ClickHouse/pull/4207) ([Andy Yang](https://github.com/andyyzh)) [#4568](https://github.com/ClickHouse/ClickHouse/pull/4568) ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлена поддержка формата Parquet. [#4448](https://github.com/ClickHouse/ClickHouse/pull/4448) ([proller](https://github.com/proller))
* Добавлена n-gram distance для неточного сравнения строк. Она аналогична q-gram-метрикам в языке R. [#4466](https://github.com/ClickHouse/ClickHouse/pull/4466) ([Danila Kutenin](https://github.com/danlark1))
* Объединены правила graphite rollup из отдельных шаблонов агрегации и хранения данных. [#4426](https://github.com/ClickHouse/ClickHouse/pull/4426) ([Mikhail f. Shiryaev](https://github.com/Felixoid))
* Добавлены `max_execution_speed` и `max_execution_speed_bytes` для ограничения использования ресурсов. Также добавлена настройка `min_execution_speed_bytes` в дополнение к `min_execution_speed`. [#4430](https://github.com/ClickHouse/ClickHouse/pull/4430) ([Winter Zhang](https://github.com/zhang2014))
* Реализована функция `flatten`. [#4555](https://github.com/ClickHouse/ClickHouse/pull/4555) [#4409](https://github.com/ClickHouse/ClickHouse/pull/4409) ([alexey-milovidov](https://github.com/alexey-milovidov), [kzon](https://github.com/kzon))
* Добавлены функции `arrayEnumerateDenseRanked` и `arrayEnumerateUniqRanked` (аналогично `arrayEnumerateUniq`, но позволяют более точно настраивать глубину массива для работы с многомерными массивами). [#4475](https://github.com/ClickHouse/ClickHouse/pull/4475) ([proller](https://github.com/proller)) [#4601](https://github.com/ClickHouse/ClickHouse/pull/4601) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Несколько JOIN с некоторыми ограничениями: без звёздочек, без сложных псевдонимов в ON/WHERE/GROUP BY/… [#4462](https://github.com/ClickHouse/ClickHouse/pull/4462) ([Artem Zuikov](https://github.com/4ertus2))

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

* В этот релиз также вошли все исправления ошибок из версий 19.3 и 19.1.
* Исправлена ошибка в индексах для пропуска данных: порядок гранул после INSERT был неправильным. [#4407](https://github.com/ClickHouse/ClickHouse/pull/4407) ([Nikita Vasilev](https://github.com/nikvas0))
* Исправлен индекс `set` для столбцов `Nullable` и `LowCardinality`. Ранее использование индекса `set` со столбцом `Nullable` или `LowCardinality` приводило к ошибке `Data type must be deserialized with multiple streams` при выполнении выборки. [#4594](https://github.com/ClickHouse/ClickHouse/pull/4594) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Корректно устанавливается update\_time при полном обновлении словаря `executable`. [#4551](https://github.com/ClickHouse/ClickHouse/pull/4551) ([Tema Novikov](https://github.com/temoon))
* Исправлен неработающий индикатор выполнения в 19.3. [#4627](https://github.com/ClickHouse/ClickHouse/pull/4627) ([filimonov](https://github.com/filimonov))
* Исправлены некорректные значения MemoryTracker, которые в некоторых случаях возникали при уменьшении области памяти. [#4619](https://github.com/ClickHouse/ClickHouse/pull/4619) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено неопределённое поведение в ThreadPool. [#4612](https://github.com/ClickHouse/ClickHouse/pull/4612) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен очень редкий сбой с сообщением `mutex lock failed: Invalid argument`, который мог произойти при одновременном удалении таблицы MergeTree и выполнении SELECT. [#4608](https://github.com/ClickHouse/ClickHouse/pull/4608) ([Alex Zatelepin](https://github.com/ztlpn))
* Поддержка драйвером ODBC типа данных `LowCardinality`. [#4381](https://github.com/ClickHouse/ClickHouse/pull/4381) ([proller](https://github.com/proller))
* FreeBSD: исправление для ошибки `AIOcontextPool: Found io_event with unknown id 0`. [#4438](https://github.com/ClickHouse/ClickHouse/pull/4438) ([urgordeadbeef](https://github.com/urgordeadbeef))
* Таблица `system.part_log` создавалась вне зависимости от конфигурации. [#4483](https://github.com/ClickHouse/ClickHouse/pull/4483) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено неопределённое поведение функции `dictIsIn` для словарей типа cache. [#4515](https://github.com/ClickHouse/ClickHouse/pull/4515) ([alesapin](https://github.com/alesapin))
* Исправлена взаимная блокировка, возникавшая, когда запрос SELECT несколько раз блокировал одну и ту же таблицу (например, из разных потоков или при выполнении нескольких подзапросов), а одновременно выполнялся DDL-запрос. [#4535](https://github.com/ClickHouse/ClickHouse/pull/4535) ([Alex Zatelepin](https://github.com/ztlpn))
* Отключили compile\_expressions по умолчанию, пока у нас не появится собственный `llvm` contrib и не будет возможности протестировать его с `clang` и `asan`. [#4579](https://github.com/ClickHouse/ClickHouse/pull/4579) ([alesapin](https://github.com/alesapin))
* Предотвращён `std::terminate`, если `invalidate_query` для внешнего источника словаря `clickhouse` возвращал некорректный результат (пустой, более одной строки или более одного столбца). Также исправлена проблема, из-за которой `invalidate_query` выполнялся каждые пять секунд независимо от значения `lifetime`. [#4583](https://github.com/ClickHouse/ClickHouse/pull/4583) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Предотвращена взаимная блокировка, когда `invalidate_query` для словаря с источником `clickhouse` затрагивал таблицу `system.dictionaries` или базу данных `Dictionaries` (редкий случай). [#4599](https://github.com/ClickHouse/ClickHouse/pull/4599) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено поведение CROSS JOIN при пустом WHERE. [#4598](https://github.com/ClickHouse/ClickHouse/pull/4598) ([Artem Zuikov](https://github.com/4ertus2))
* Устранён segfault в функции "replicate" при передаче константного аргумента. [#4603](https://github.com/ClickHouse/ClickHouse/pull/4603) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена работа лямбда-функции с оптимизатором предикатов. [#4408](https://github.com/ClickHouse/ClickHouse/pull/4408) ([Winter Zhang](https://github.com/zhang2014))
* Несколько исправлений, связанных с множественными JOIN. [#4595](https://github.com/ClickHouse/ClickHouse/pull/4595) ([Artem Zuikov](https://github.com/4ertus2))

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

* Поддержка псевдонимов в условии JOIN ON для столбцов правой таблицы. [#4412](https://github.com/ClickHouse/ClickHouse/pull/4412) ([Artem Zuikov](https://github.com/4ertus2))
* Результат нескольких JOIN теперь получает корректные имена, чтобы их можно было использовать в подзапросах. В результирующем наборе плоские псевдонимы заменены исходными именами. [#4474](https://github.com/ClickHouse/ClickHouse/pull/4474) ([Artem Zuikov](https://github.com/4ertus2))
* Улучшена логика pushdown для операторов JOIN. [#4387](https://github.com/ClickHouse/ClickHouse/pull/4387) ([Ivan](https://github.com/abyss7))

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

* Улучшены эвристики оптимизации «move to PREWHERE». [#4405](https://github.com/ClickHouse/ClickHouse/pull/4405) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Используются корректные таблицы lookup, работающие через API HashTable для 8-битных и 16-битных ключей. [#4536](https://github.com/ClickHouse/ClickHouse/pull/4536) ([Amos Bird](https://github.com/amosbird))
* Повышена производительность сравнения строк. [#4564](https://github.com/ClickHouse/ClickHouse/pull/4564) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Очередь распределённых DDL-запросов теперь очищается в отдельном потоке, чтобы не замедлять основной цикл обработки задач распределённых DDL-запросов. [#4502](https://github.com/ClickHouse/ClickHouse/pull/4502) ([Alex Zatelepin](https://github.com/ztlpn))
* Когда `min_bytes_to_use_direct_io` установлено в 1, не каждый файл открывался в режиме O\_DIRECT, потому что размер данных для чтения иногда занижался на размер одного сжатого блока. [#4526](https://github.com/ClickHouse/ClickHouse/pull/4526) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Добавлена поддержка clang-9 [#4604](https://github.com/ClickHouse/ClickHouse/pull/4604) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены неверные инструкции `__asm__` (снова) [#4621](https://github.com/ClickHouse/ClickHouse/pull/4621) ([Konstantin Podshumok](https://github.com/podshumok))
* Добавлена возможность задавать настройки для `clickhouse-performance-test` из командной строки. [#4437](https://github.com/ClickHouse/ClickHouse/pull/4437) ([alesapin](https://github.com/alesapin))
* Тесты Dictionaries добавлены в интеграционные тесты. [#4477](https://github.com/ClickHouse/ClickHouse/pull/4477) ([alesapin](https://github.com/alesapin))
* В автоматизированные тесты производительности добавлены запросы из бенчмарка на сайте. [#4496](https://github.com/ClickHouse/ClickHouse/pull/4496) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `xxhash.h` отсутствует во внешнем lz4, поскольку это внутренняя деталь реализации, а его символы находятся в пространстве имен с макросом `XXH_NAMESPACE`. Когда lz4 используется как внешняя библиотека, xxHash тоже должен быть внешним, а зависимые компоненты должны с ним линковаться. [#4495](https://github.com/ClickHouse/ClickHouse/pull/4495) ([Orivej Desh](https://github.com/orivej))
* Исправлен случай, когда агрегатную функцию `quantileTiming` можно было вызывать с отрицательным аргументом или аргументом с плавающей точкой (это исправляет fuzz-тест с sanitizer неопределенного поведения). [#4506](https://github.com/ClickHouse/ClickHouse/pull/4506) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена орфографическая ошибка. [#4531](https://github.com/ClickHouse/ClickHouse/pull/4531) ([sdk2](https://github.com/sdk2))
* Исправлена компиляция на Mac. [#4371](https://github.com/ClickHouse/ClickHouse/pull/4371) ([Vitaly Baranov](https://github.com/vitlibar))
* Исправления сборки для FreeBSD и различных нестандартных конфигураций сборки. [#4444](https://github.com/ClickHouse/ClickHouse/pull/4444) ([proller](https://github.com/proller))

<div id="clickhouse-release-19-3">
  ## Релиз ClickHouse 19.3
</div>

<div id="clickhouse-release-19-3-9-1-2019-04-02">
  ### Релиз ClickHouse 19.3.9.1, 2019-04-02
</div>

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

* Исправлен сбой в `FULL/RIGHT JOIN` при JOIN по Nullable- и не-Nullable-столбцам. [#4855](https://github.com/ClickHouse/ClickHouse/pull/4855) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена ошибка сегментации в `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))
* Исправлено чтение из столбца `Array(LowCardinality)` в редком случае, когда столбец содержал длинную последовательность пустых массивов. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Добавлена возможность запускать образ clickhouse-server от имени произвольного пользователя [#4753](https://github.com/ClickHouse/ClickHouse/pull/4753) ([Mikhail f. Shiryaev](https://github.com/Felixoid))

<div id="clickhouse-release-19-3-7-2019-03-12">
  ### Релиз ClickHouse 19.3.7, 2019-03-12
</div>

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

* Исправлена ошибка в #3920. Эта ошибка проявляется как случайное повреждение кэша (сообщения `Unknown codec family code`, `Cannot seek through file`) и segfault. Эта ошибка впервые появилась в версии 19.1 и присутствует в версиях вплоть до 19.1.10 и 19.3.6. [#4623](https://github.com/ClickHouse/ClickHouse/pull/4623) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-3-6-2019-03-02">
  ### Релиз ClickHouse 19.3.6, 2019-03-02
</div>

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

* Если в пуле потоков более 1000 потоков, при завершении потока может вызываться `std::terminate`. [Azat Khuzhin](https://github.com/azat) [#4485](https://github.com/ClickHouse/ClickHouse/pull/4485) [#4505](https://github.com/ClickHouse/ClickHouse/pull/4505) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Теперь можно создавать таблицы `ReplicatedMergeTree*`, где у столбцов есть комментарии, но нет значений по умолчанию, а также таблицы, где у столбцов есть кодеки, но нет комментариев и значений по умолчанию. Также исправлено сравнение кодеков. [#4523](https://github.com/ClickHouse/ClickHouse/pull/4523) ([alesapin](https://github.com/alesapin))
* Исправлен сбой при JOIN с Array или Tuple. [#4552](https://github.com/ClickHouse/ClickHouse/pull/4552) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлен сбой в clickhouse-copier с сообщением `ThreadStatus not created`. [#4540](https://github.com/ClickHouse/ClickHouse/pull/4540) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено зависание при завершении работы сервера, если использовались распределённые DDL-запросы. [#4472](https://github.com/ClickHouse/ClickHouse/pull/4472) ([Alex Zatelepin](https://github.com/ztlpn))
* В сообщении об ошибке при разборе текстового формата для столбцов с номером больше 10 выводились неверные номера столбцов. [#4484](https://github.com/ClickHouse/ClickHouse/pull/4484) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Исправлена сборка при включенном AVX. [#4527](https://github.com/ClickHouse/ClickHouse/pull/4527) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Включен расширенный учет и учет IO на основе заведомо корректной версии, а не ядра, на котором выполняется сборка. [#4541](https://github.com/ClickHouse/ClickHouse/pull/4541) ([nvartolomei](https://github.com/nvartolomei))
* Теперь можно пропускать установку `core_dump.size_limit`; если задать ограничение не удается, выдается предупреждение вместо того, чтобы сгенерировать исключение. [#4473](https://github.com/ClickHouse/ClickHouse/pull/4473) ([proller](https://github.com/proller))
* Удалены спецификаторы `inline` у `void readBinary(...)` в `Field.cpp`. Также объединены избыточные блоки `namespace DB`. [#4530](https://github.com/ClickHouse/ClickHouse/pull/4530) ([hcz](https://github.com/hczhcz))

<div id="clickhouse-release-19-3-5-2019-02-21">
  ### Релиз ClickHouse 19.3.5, 2019-02-21
</div>

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

* Исправлена ошибка, связанная с обработкой крупных HTTP-запросов на вставку. [#4454](https://github.com/ClickHouse/ClickHouse/pull/4454) ([alesapin](https://github.com/alesapin))
* Исправлено нарушение обратной совместимости со старыми версиями из-за неверной реализации настройки `send_logs_level`. [#4445](https://github.com/ClickHouse/ClickHouse/pull/4445) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено нарушение обратной совместимости табличной функции `remote`, возникшее из-за комментариев к столбцам. [#4446](https://github.com/ClickHouse/ClickHouse/pull/4446) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-3-4-2019-02-16">
  ### Релиз ClickHouse 19.3.4, 2019-02-16
</div>

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

* Размер индекса таблицы не учитывался в лимитах памяти при выполнении запроса `ATTACH TABLE`. Устранена ситуация, при которой таблицу нельзя было присоединить обратно после отсоединения. [#4396](https://github.com/ClickHouse/ClickHouse/pull/4396) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Немного увеличен лимит максимального размера строки и массива, получаемых из ZooKeeper. Это позволяет продолжить работу при увеличенном значении `CLIENT_JVMFLAGS=-Djute.maxbuffer=...` в ZooKeeper. [#4398](https://github.com/ClickHouse/ClickHouse/pull/4398) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Теперь можно восстанавливать заброшенную реплику, даже если в её очереди уже очень много узлов. [#4399](https://github.com/ClickHouse/ClickHouse/pull/4399) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлен обязательный аргумент для индекса `SET` (максимальное число хранимых строк). [#4386](https://github.com/ClickHouse/ClickHouse/pull/4386) ([Nikita Vasilev](https://github.com/nikvas0))

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

* Исправлен результат `WITH ROLLUP` при группировке по одному ключу `LowCardinality`. [#4384](https://github.com/ClickHouse/ClickHouse/pull/4384) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Исправлена ошибка в индексе set (гранула отбрасывалась, если содержала более `max_rows` строк). [#4386](https://github.com/ClickHouse/ClickHouse/pull/4386) ([Nikita Vasilev](https://github.com/nikvas0))
* Много исправлений, связанных со сборкой под FreeBSD. [#4397](https://github.com/ClickHouse/ClickHouse/pull/4397) ([proller](https://github.com/proller))
* Исправлена подстановка псевдонимов в запросах с подзапросом, содержащим тот же псевдоним (проблема [#4110](https://github.com/ClickHouse/ClickHouse/issues/4110)). [#4351](https://github.com/ClickHouse/ClickHouse/pull/4351) ([Artem Zuikov](https://github.com/4ertus2))

<div id="buildtestingpackaging-improvement">
  #### Улучшения сборки/тестирования/упаковки
</div>

* Добавлена возможность запускать `clickhouse-server` в Docker-образе для тестов без сохранения состояния. [#4347](https://github.com/ClickHouse/ClickHouse/pull/4347) ([Vasily Nemkov](https://github.com/Enmk))

<div id="clickhouse-release-19-3-3-2019-02-13">
  ### Релиз ClickHouse 19.3.3, 2019-02-13
</div>

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

* Добавлен оператор `KILL MUTATION`, позволяющий удалять мутации, которые по каким-либо причинам зависли. Для упрощения устранения неполадок в таблицу `system.mutations` добавлены поля `latest_failed_part`, `latest_fail_time`, `latest_fail_reason`. [#4287](https://github.com/ClickHouse/ClickHouse/pull/4287) ([Alex Zatelepin](https://github.com/ztlpn))
* Добавлена агрегатная функция `entropy`, вычисляющая энтропию Шеннона. [#4238](https://github.com/ClickHouse/ClickHouse/pull/4238) ([Quid37](https://github.com/Quid37))
* Добавлена возможность отправлять на сервер запросы `INSERT INTO tbl VALUES (....` без разделения на части `query` и `data`. [#4301](https://github.com/ClickHouse/ClickHouse/pull/4301) ([alesapin](https://github.com/alesapin))
* Добавлена универсальная реализация функции `arrayWithConstant`. [#4322](https://github.com/ClickHouse/ClickHouse/pull/4322) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Реализован оператор сравнения `NOT BETWEEN`. [#4228](https://github.com/ClickHouse/ClickHouse/pull/4228) ([Dmitry Naumov](https://github.com/nezed))
* Реализована функция `sumMapFiltered`, позволяющая ограничить число ключей, для которых `sumMap` суммирует значения. [#4129](https://github.com/ClickHouse/ClickHouse/pull/4129) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))
* Добавлена поддержка типов `Nullable` в табличной функции `mysql`. [#4198](https://github.com/ClickHouse/ClickHouse/pull/4198) ([Emmanuel Donin de Rosière](https://github.com/edonin))
* Добавлена поддержка произвольных константных выражений в `LIMIT`. [#4246](https://github.com/ClickHouse/ClickHouse/pull/4246) ([k3box](https://github.com/k3box))
* Добавлена агрегатная функция `topKWeighted`, принимающая дополнительный аргумент веса (unsigned integer). [#4245](https://github.com/ClickHouse/ClickHouse/pull/4245) ([Andrew Golman](https://github.com/andrewgolman))
* `StorageJoin` теперь поддерживает настройку `join_any_take_last_row`, которая позволяет перезаписывать существующие значения для одного и того же ключа. [#3973](https://github.com/ClickHouse/ClickHouse/pull/3973) ([Amos Bird](https://github.com/amosbird)
* Добавлена функция `toStartOfInterval`. [#4304](https://github.com/ClickHouse/ClickHouse/pull/4304) ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлен формат `RowBinaryWithNamesAndTypes`. [#4200](https://github.com/ClickHouse/ClickHouse/pull/4200) ([Oleg V. Kozlyuk](https://github.com/DarkWanderer))
* Добавлены типы данных `IPv4` и `IPv6`. Реализованы более эффективные версии функций `IPv*`. [#3669](https://github.com/ClickHouse/ClickHouse/pull/3669) ([Vasily Nemkov](https://github.com/Enmk))
* Добавлена функция `toStartOfTenMinutes()`. [#4298](https://github.com/ClickHouse/ClickHouse/pull/4298) ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлен формат вывода `Protobuf`. [#4005](https://github.com/ClickHouse/ClickHouse/pull/4005) [#4158](https://github.com/ClickHouse/ClickHouse/pull/4158) ([Vitaly Baranov](https://github.com/vitlibar))
* Добавлена поддержка brotli в HTTP-интерфейсе для импорта данных (INSERTs). [#4235](https://github.com/ClickHouse/ClickHouse/pull/4235) ([Mikhail](https://github.com/fandyushin))
* Добавлены подсказки на случай, если пользователь допускает опечатку в имени функции или типа в клиенте командной строки. [#4239](https://github.com/ClickHouse/ClickHouse/pull/4239) ([Danila Kutenin](https://github.com/danlark1))
* В заголовок HTTP-ответа сервера добавлен `Query-Id`. [#4231](https://github.com/ClickHouse/ClickHouse/pull/4231) ([Mikhail](https://github.com/fandyushin))

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

* Добавлены индексы для пропуска данных `minmax` и `set` для семейства движков таблиц MergeTree. [#4143](https://github.com/ClickHouse/ClickHouse/pull/4143) ([Nikita Vasilev](https://github.com/nikvas0))
* Добавлено преобразование `CROSS JOIN` в `INNER JOIN`, если это возможно. [#4221](https://github.com/ClickHouse/ClickHouse/pull/4221) [#4266](https://github.com/ClickHouse/ClickHouse/pull/4266) ([Artem Zuikov](https://github.com/4ertus2))

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

* Исправлена ошибка `Not found column` для дублирующихся столбцов в разделе `JOIN ON`. [#4279](https://github.com/ClickHouse/ClickHouse/pull/4279) ([Artem Zuikov](https://github.com/4ertus2))
* Команда `START REPLICATED SENDS` теперь запускает реплицированные отправки. [#4229](https://github.com/ClickHouse/ClickHouse/pull/4229) ([nvartolomei](https://github.com/nvartolomei))
* Исправлено выполнение агрегатных функций, принимающих аргументы `Array(LowCardinality)`. [#4055](https://github.com/ClickHouse/ClickHouse/pull/4055) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Исправлено некорректное поведение при выполнении запроса `INSERT ... SELECT ... FROM file(...)`, если файл имеет формат `CSVWithNames` или `TSVWIthNames`, а первая строка данных отсутствует. [#4297](https://github.com/ClickHouse/ClickHouse/pull/4297) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен сбой при перезагрузке словаря, если словарь недоступен. Эта ошибка появилась в версии 19.1.6. [#4188](https://github.com/ClickHouse/ClickHouse/pull/4188) ([proller](https://github.com/proller))
* Исправлена ошибка в `ALL JOIN` при наличии дубликатов в правой таблице. [#4184](https://github.com/ClickHouse/ClickHouse/pull/4184) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлены ошибка сегментации при `use_uncompressed_cache=1` и исключение из-за неверного несжатого размера. Эта ошибка появилась в 19.1.6. [#4186](https://github.com/ClickHouse/ClickHouse/pull/4186) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка `compile_expressions` при сравнении дат большого диапазона (больше `int16`). [#4341](https://github.com/ClickHouse/ClickHouse/pull/4341) ([alesapin](https://github.com/alesapin))
* Исправлен бесконечный цикл при чтении из табличной функции `numbers(0)`. [#4280](https://github.com/ClickHouse/ClickHouse/pull/4280) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Временно отключена оптимизация предикатов для `ORDER BY`. [#3890](https://github.com/ClickHouse/ClickHouse/pull/3890) ([Winter Zhang](https://github.com/zhang2014))
* Исправлена ошибка `Illegal instruction`, возникавшая при использовании функций base64 на старых CPU. Эта ошибка воспроизводилась только в случае, если ClickHouse был скомпилирован с gcc-8. [#4275](https://github.com/ClickHouse/ClickHouse/pull/4275) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка `No message received`, возникавшая при работе с PostgreSQL ODBC Driver через TLS‑соединение. Также исправлен segfault при использовании MySQL ODBC Driver. [#4170](https://github.com/ClickHouse/ClickHouse/pull/4170) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен некорректный результат при использовании аргументов `Date` и `DateTime` в ветвях условного оператора (функции `if`). Добавлен общий случай для функции `if`. [#4243](https://github.com/ClickHouse/ClickHouse/pull/4243) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Словари ClickHouse теперь загружаются внутри процесса `clickhouse`. [#4166](https://github.com/ClickHouse/ClickHouse/pull/4166) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен дедлок при повторном выполнении `SELECT` из таблицы с движком `File` после ошибки `No such file or directory`. [#4161](https://github.com/ClickHouse/ClickHouse/pull/4161) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено состояние гонки, из-за которого при выборке из `system.tables` могла возникать ошибка `table does not exist`. [#4313](https://github.com/ClickHouse/ClickHouse/pull/4313) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `clickhouse-client` может аварийно завершаться при выходе во время загрузки данных для подсказок в командной строке, если был запущен в интерактивном режиме. [#4317](https://github.com/ClickHouse/ClickHouse/pull/4317) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, из-за которой выполнение мутаций, содержащих операторы `IN`, приводило к некорректным результатам. [#4099](https://github.com/ClickHouse/ClickHouse/pull/4099) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлена ошибка: если существовала база данных с движком `Dictionary`, все словари принудительно загружались при запуске сервера, и если среди них был словарь с источником ClickHouse на localhost, такой словарь не мог загрузиться. [#4255](https://github.com/ClickHouse/ClickHouse/pull/4255) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка при повторной попытке создать системные журналы при остановке сервера. [#4254](https://github.com/ClickHouse/ClickHouse/pull/4254) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен возврат правильного типа и корректная обработка блокировок в функции `joinGet`. [#4153](https://github.com/ClickHouse/ClickHouse/pull/4153) ([Amos Bird](https://github.com/amosbird))
* Добавлена функция `sumMapWithOverflow`. [#4151](https://github.com/ClickHouse/ClickHouse/pull/4151) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))
* Исправлен segfault при использовании `allow_experimental_multiple_joins_emulation`. [52de2c](https://github.com/ClickHouse/ClickHouse/commit/52de2cd927f7b5257dd67e175f0a5560a48840d0) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлена ошибка, связанная с некорректным сравнением `Date` и `DateTime`. [#4237](https://github.com/ClickHouse/ClickHouse/pull/4237) ([valexey](https://github.com/valexey))
* Исправлен fuzz-тест при использовании санитайзера undefined behavior: добавлена проверка типа параметра для семейства функций `quantile*Weighted`. [#4145](https://github.com/ClickHouse/ClickHouse/pull/4145) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено редкое состояние гонки, из-за которого при удалении старых частей данных могла возникать ошибка `File not found`. [#4378](https://github.com/ClickHouse/ClickHouse/pull/4378) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен пакет установки, в котором отсутствовал /etc/clickhouse-server/config.xml. [#4343](https://github.com/ClickHouse/ClickHouse/pull/4343) ([proller](https://github.com/proller))

<div id="buildtestingpackaging-improvements-5">
  #### Улучшение сборки, тестирования и упаковки
</div>

* Пакет Debian: ссылка /etc/clickhouse-server/preprocessed исправлена в соответствии с конфигурацией. [#4205](https://github.com/ClickHouse/ClickHouse/pull/4205) ([proller](https://github.com/proller))
* Различные исправления сборки для FreeBSD. [#4225](https://github.com/ClickHouse/ClickHouse/pull/4225) ([proller](https://github.com/proller))
* Добавлена возможность создавать, заполнять и удалять таблицы в perftest. [#4220](https://github.com/ClickHouse/ClickHouse/pull/4220) ([alesapin](https://github.com/alesapin))
* Добавлен скрипт для проверки дублирующихся include. [#4326](https://github.com/ClickHouse/ClickHouse/pull/4326) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена возможность запускать запросы по индексу в performance test. [#4264](https://github.com/ClickHouse/ClickHouse/pull/4264) ([alesapin](https://github.com/alesapin))
* Рекомендуется устанавливать пакет с отладочными символами. [#4274](https://github.com/ClickHouse/ClickHouse/pull/4274) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Рефакторинг performance-test. Улучшены логирование и обработка сигналов. [#4171](https://github.com/ClickHouse/ClickHouse/pull/4171) ([alesapin](https://github.com/alesapin))
* Добавлена документация к анонимизированным датасетам Yandex.Metrica. [#4164](https://github.com/ClickHouse/ClickHouse/pull/4164) ([alesapin](https://github.com/alesapin))
* Добавлен инструмент для преобразования старой части с месячной партицией в формат с пользовательскими партициями. [#4195](https://github.com/ClickHouse/ClickHouse/pull/4195) ([Alex Zatelepin](https://github.com/ztlpn))
* Добавлена документация о двух датасетах в S3. [#4144](https://github.com/ClickHouse/ClickHouse/pull/4144) ([alesapin](https://github.com/alesapin))
* Добавлен скрипт, который создаёт changelog из описаний pull request. [#4169](https://github.com/ClickHouse/ClickHouse/pull/4169) [#4173](https://github.com/ClickHouse/ClickHouse/pull/4173) ([KochetovNicolai](https://github.com/KochetovNicolai)) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Добавлен модуль Puppet для ClickHouse. [#4182](https://github.com/ClickHouse/ClickHouse/pull/4182) ([Maxim Fedotov](https://github.com/MaxFedotov))
* Добавлена документация для группы недокументированных функций. [#4168](https://github.com/ClickHouse/ClickHouse/pull/4168) ([Winter Zhang](https://github.com/zhang2014))
* Исправления сборки для ARM. [#4210](https://github.com/ClickHouse/ClickHouse/pull/4210)[#4306](https://github.com/ClickHouse/ClickHouse/pull/4306) [#4291](https://github.com/ClickHouse/ClickHouse/pull/4291) ([proller](https://github.com/proller)) ([proller](https://github.com/proller))
* Тесты словарей теперь можно запускать из `ctest`. [#4189](https://github.com/ClickHouse/ClickHouse/pull/4189) ([proller](https://github.com/proller))
* Теперь `/etc/ssl` используется как каталог с SSL-сертификатами по умолчанию. [#4167](https://github.com/ClickHouse/ClickHouse/pull/4167) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена проверка наличия инструкций SSE и AVX при запуске. [#4234](https://github.com/ClickHouse/ClickHouse/pull/4234) ([Igr](https://github.com/igron99))
* Init-скрипт будет ждать запуска сервера. [#4281](https://github.com/ClickHouse/ClickHouse/pull/4281) ([proller](https://github.com/proller))

<div id="backward-incompatible-changes">
  #### Обратно несовместимые изменения
</div>

* Удалена настройка `allow_experimental_low_cardinality_type`. Типы данных `LowCardinality` готовы для использования в продакшне. [#4323](https://github.com/ClickHouse/ClickHouse/pull/4323) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Уменьшен размер кэша меток и кэша несжатых данных в соответствии с объёмом доступной памяти. [#4240](https://github.com/ClickHouse/ClickHouse/pull/4240) ([Lopatin Konstantin](https://github.com/k-lopatin)
* В запрос `CREATE TABLE` добавлено ключевое слово `INDEX`. Столбец с именем `index` должен быть заключён в обратные кавычки или двойные кавычки: `` `index` ``. [#4143](https://github.com/ClickHouse/ClickHouse/pull/4143) ([Nikita Vasilev](https://github.com/nikvas0))
* `sumMap` теперь повышает тип результата вместо переполнения. Прежнее поведение `sumMap` можно получить с помощью функции `sumMapWithOverflow`. [#4151](https://github.com/ClickHouse/ClickHouse/pull/4151) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))

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

* `std::sort` заменён на `pdqsort` для запросов без `LIMIT`. [#4236](https://github.com/ClickHouse/ClickHouse/pull/4236) ([Evgenii Pravda](https://github.com/kvinty))
* Теперь сервер повторно использует потоки из глобального пула потоков. Это повышает производительность в некоторых редких случаях. [#4150](https://github.com/ClickHouse/ClickHouse/pull/4150) ([alexey-milovidov](https://github.com/alexey-milovidov))

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

* Реализована поддержка AIO для FreeBSD. [#4305](https://github.com/ClickHouse/ClickHouse/pull/4305) ([urgordeadbeef](https://github.com/urgordeadbeef))
* `SELECT * FROM a JOIN b USING a, b` теперь возвращает столбцы `a` и `b` только из левой таблицы. [#4141](https://github.com/ClickHouse/ClickHouse/pull/4141) ([Artem Zuikov](https://github.com/4ertus2))
* Разрешено использовать опцию `-C` клиента так же, как опцию `-c`. [#4232](https://github.com/ClickHouse/ClickHouse/pull/4232) ([syominsergey](https://github.com/syominsergey))
* Теперь опция `--password`, используемая без значения, запрашивает пароль из stdin. [#4230](https://github.com/ClickHouse/ClickHouse/pull/4230) ([BSD\_Conqueror](https://github.com/bsd-conqueror))
* Добавлена подсветка неэкранированных метасимволов в строковых литералах, содержащих выражения `LIKE` или регулярные выражения. [#4327](https://github.com/ClickHouse/ClickHouse/pull/4327) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена отмена HTTP-запросов только на чтение, если клиентский сокет закрывается. [#4213](https://github.com/ClickHouse/ClickHouse/pull/4213) ([nvartolomei](https://github.com/nvartolomei))
* Теперь сервер сообщает о прогрессе, чтобы поддерживать клиентские соединения активными. [#4215](https://github.com/ClickHouse/ClickHouse/pull/4215) ([Ivan](https://github.com/abyss7))
* Немного улучшено сообщение с причиной для запроса OPTIMIZE при включенной настройке `optimize_throw_if_noop`. [#4294](https://github.com/ClickHouse/ClickHouse/pull/4294) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлена поддержка опции `--version` для ClickHouse server. [#4251](https://github.com/ClickHouse/ClickHouse/pull/4251) ([Lopatin Konstantin](https://github.com/k-lopatin))
* Добавлена опция `--help/-h` для `clickhouse-server`. [#4233](https://github.com/ClickHouse/ClickHouse/pull/4233) ([Yuriy Baranov](https://github.com/yurriy))
* Добавлена поддержка скалярных подзапросов с результатом в виде состояния aggregate function. [#4348](https://github.com/ClickHouse/ClickHouse/pull/4348) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Улучшено время остановки сервера и ожидания ALTER. [#4372](https://github.com/ClickHouse/ClickHouse/pull/4372) ([alexey-milovidov](https://github.com/alexey-milovidov))
* В system.replicas добавлена информация о настройке replicated\_can\_become\_leader, а также добавлен logging, если реплика не будет пытаться стать leader. [#4379](https://github.com/ClickHouse/ClickHouse/pull/4379) ([Alex Zatelepin](https://github.com/ztlpn))

<div id="clickhouse-release-19-1">
  ## Релиз ClickHouse 19.1
</div>

<div id="clickhouse-release-19-1-14-2019-03-14">
  ### Релиз ClickHouse 19.1.14, 2019-03-14
</div>

* Исправлена ошибка `Column ... queried more than once`, которая в редких случаях могла возникать, если параметр `asterisk_left_columns_only` был установлен в 1 при использовании `GLOBAL JOIN` с `SELECT *`. В версии 19.3 и новее этой проблемы нет. [6bac7d8d](https://github.com/ClickHouse/ClickHouse/pull/4692/commits/6bac7d8d11a9b0d6de0b32b53c47eb2f6f8e7062) ([Artem Zuikov](https://github.com/4ertus2))

<div id="clickhouse-release-19-1-13-2019-03-12">
  ### Релиз ClickHouse 19.1.13, 2019-03-12
</div>

Этот релиз содержит тот же набор исправлений, что и 19.3.7.

<div id="clickhouse-release-19-1-10-2019-03-03">
  ### Релиз ClickHouse 19.1.10, 2019-03-03
</div>

Этот релиз содержит тот же набор исправлений, что и 19.3.6.

<div id="clickhouse-release-19-1">
  ## Релиз ClickHouse 19.1
</div>

<div id="clickhouse-release-19-1-9-2019-02-21">
  ### Релиз ClickHouse 19.1.9, 2019-02-21
</div>

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

* Исправлена потеря обратной совместимости со старыми версиями из-за некорректной реализации настройки `send_logs_level`. [#4445](https://github.com/ClickHouse/ClickHouse/pull/4445) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена потеря обратной совместимости табличной функции `remote`, возникшая после добавления комментариев к столбцам. [#4446](https://github.com/ClickHouse/ClickHouse/pull/4446) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-1-8-2019-02-16">
  ### Релиз ClickHouse 19.1.8, 2019-02-16
</div>

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

* Исправлена установка пакета в случае отсутствия файла /etc/clickhouse-server/config.xml. [#4343](https://github.com/ClickHouse/ClickHouse/pull/4343) ([proller](https://github.com/proller))

<div id="clickhouse-release-19-1">
  ## Релиз ClickHouse 19.1
</div>

<div id="clickhouse-release-19-1-7-2019-02-15">
  ### Релиз ClickHouse 19.1.7, 2019-02-15
</div>

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

* В функции `joinGet` исправлены возврат правильного типа и обработка блокировок. [#4153](https://github.com/ClickHouse/ClickHouse/pull/4153) ([Amos Bird](https://github.com/amosbird))
* Исправлена ошибка при повторной попытке создать системные журналы во время остановки сервера. [#4254](https://github.com/ClickHouse/ClickHouse/pull/4254) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка: если существует база данных с движком `Dictionary`, все словари принудительно загружаются при запуске сервера, и если среди них есть словарь с источником ClickHouse на localhost, такой словарь не может загрузиться. [#4255](https://github.com/ClickHouse/ClickHouse/pull/4255) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, из-за которой выполнение мутаций, содержащих операторы `IN`, давало некорректные результаты. [#4099](https://github.com/ClickHouse/ClickHouse/pull/4099) ([Alex Zatelepin](https://github.com/ztlpn))
* `clickhouse-client` может аварийно завершаться с segfault при завершении работы во время загрузки данных для подсказок командной строки, если он был запущен в интерактивном режиме. [#4317](https://github.com/ClickHouse/ClickHouse/pull/4317) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено состояние гонки, из-за которого при выборке из `system.tables` могла возникать ошибка `table does not exist`. [#4313](https://github.com/ClickHouse/ClickHouse/pull/4313) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена взаимоблокировка при повторном выполнении `SELECT` из таблицы с движком `File` после ошибки `No such file or directory`. [#4161](https://github.com/ClickHouse/ClickHouse/pull/4161) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена проблема: локальные словари ClickHouse загружаются через TCP, хотя должны загружаться внутри процесса. [#4166](https://github.com/ClickHouse/ClickHouse/pull/4166) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка `No message received`, возникавшая при работе с PostgreSQL ODBC Driver через TLS‑соединение. Также исправлен segfault при использовании MySQL ODBC Driver. [#4170](https://github.com/ClickHouse/ClickHouse/pull/4170) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Временно отключена оптимизация предикатов для `ORDER BY`. [#3890](https://github.com/ClickHouse/ClickHouse/pull/3890) ([Winter Zhang](https://github.com/zhang2014))
* Исправлен бесконечный цикл при выборке из табличной функции `numbers(0)`. [#4280](https://github.com/ClickHouse/ClickHouse/pull/4280) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка в `compile_expressions`, связанная со сравнением больших дат (больше `int16`). [#4341](https://github.com/ClickHouse/ClickHouse/pull/4341) ([alesapin](https://github.com/alesapin))
* Исправлены сбой сегментации при `uncompressed_cache=1` и исключение из-за неверного несжатого размера. [#4186](https://github.com/ClickHouse/ClickHouse/pull/4186) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка в `ALL JOIN` при наличии дубликатов в правой таблице. [#4184](https://github.com/ClickHouse/ClickHouse/pull/4184) ([Artem Zuikov](https://github.com/4ertus2))
* Исправлено некорректное поведение при выполнении запроса `INSERT ... SELECT ... FROM file(...)`, если у файла формат `CSVWithNames` или `TSVWIthNames` и отсутствует первая строка данных. [#4297](https://github.com/ClickHouse/ClickHouse/pull/4297) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено выполнение агрегатных функций для аргументов `Array(LowCardinality)`. [#4055](https://github.com/ClickHouse/ClickHouse/pull/4055) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Пакет Debian: ссылка /etc/clickhouse-server/preprocessed исправлена в соответствии с конфигурацией. [#4205](https://github.com/ClickHouse/ClickHouse/pull/4205) ([proller](https://github.com/proller))
* Исправлен fuzz-тест при использовании санитайзера неопределенного поведения: добавлена проверка типа параметра для семейства функций `quantile*Weighted`. [#4145](https://github.com/ClickHouse/ClickHouse/pull/4145) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Сделать так, чтобы команда `START REPLICATED SENDS` запускала реплицированные передачи. [#4229](https://github.com/ClickHouse/ClickHouse/pull/4229) ([nvartolomei](https://github.com/nvartolomei))
* Исправлена ошибка `Not found column` для дублирующихся столбцов в разделе JOIN ON. [#4279](https://github.com/ClickHouse/ClickHouse/pull/4279) ([Artem Zuikov](https://github.com/4ertus2))
* Теперь каталогом SSL-сертификатов по умолчанию используется `/etc/ssl`. [#4167](https://github.com/ClickHouse/ClickHouse/pull/4167) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен сбой при перезагрузке словаря, когда он недоступен. [#4188](https://github.com/ClickHouse/ClickHouse/pull/4188) ([proller](https://github.com/proller))
* Исправлена ошибка, из-за которой `Date` и `DateTime` сравнивались некорректно. [#4237](https://github.com/ClickHouse/ClickHouse/pull/4237) ([valexey](https://github.com/valexey))
* Исправлен некорректный результат при использовании аргументов `Date` и `DateTime` в ветвях условного оператора (функции `if`). Добавлен общий случай для функции `if`. [#4243](https://github.com/ClickHouse/ClickHouse/pull/4243) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-1-6-2019-01-24">
  ### Релиз ClickHouse 19.1.6, 2019-01-24
</div>

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

* Пользовательские кодеки сжатия для отдельных столбцов таблиц. [#3899](https://github.com/ClickHouse/ClickHouse/pull/3899) [#4111](https://github.com/ClickHouse/ClickHouse/pull/4111) ([alesapin](https://github.com/alesapin), [Winter Zhang](https://github.com/zhang2014), [Anatoly](https://github.com/Sindbag))
* Добавлен кодек сжатия `Delta`. [#4052](https://github.com/ClickHouse/ClickHouse/pull/4052) ([alesapin](https://github.com/alesapin))
* Теперь можно изменять кодеки сжатия с помощью `ALTER`. [#4054](https://github.com/ClickHouse/ClickHouse/pull/4054) ([alesapin](https://github.com/alesapin))
* Добавлены функции `left`, `right`, `trim`, `ltrim`, `rtrim`, `timestampadd`, `timestampsub` для совместимости со стандартом SQL. [#3826](https://github.com/ClickHouse/ClickHouse/pull/3826) ([Ivan Blinkov](https://github.com/blinkov))
* Добавлена поддержка записи в таблицы `HDFS` и табличную функцию `hdfs`. [#4084](https://github.com/ClickHouse/ClickHouse/pull/4084) ([alesapin](https://github.com/alesapin))
* Добавлены функции для поиска нескольких константных строк в большой строке: `multiPosition`, `multiSearch`, `firstMatch`, а также варианты с `-UTF8`, `-CaseInsensitive` и `-CaseInsensitiveUTF8`. [#4053](https://github.com/ClickHouse/ClickHouse/pull/4053) ([Danila Kutenin](https://github.com/danlark1))
* Отсечение неиспользуемых сегментов, если запрос `SELECT` фильтрует по ключу сегментирования (настройка `optimize_skip_unused_shards`). [#3851](https://github.com/ClickHouse/ClickHouse/pull/3851) ([Gleb Kanterov](https://github.com/kanterov), [Ivan](https://github.com/abyss7))
* Движок `Kafka` теперь может игнорировать некоторое количество ошибок разбора на блок. [#4094](https://github.com/ClickHouse/ClickHouse/pull/4094) ([Ivan](https://github.com/abyss7))
* Добавлена поддержка оценки многоклассовых моделей `CatBoost`. Функция `modelEvaluate` возвращает кортеж с сырыми предсказаниями по каждому классу для многоклассовых моделей. `libcatboostmodel.so` должен быть собран с [#607](https://github.com/catboost/catboost/pull/607). [#3959](https://github.com/ClickHouse/ClickHouse/pull/3959) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Добавлены функции `filesystemAvailable`, `filesystemFree`, `filesystemCapacity`. [#4097](https://github.com/ClickHouse/ClickHouse/pull/4097) ([Boris Granveaud](https://github.com/bgranvea))
* Добавлены хеш-функции `xxHash64` и `xxHash32`. [#3905](https://github.com/ClickHouse/ClickHouse/pull/3905) ([filimonov](https://github.com/filimonov))
* Добавлена хеш-функция `gccMurmurHash` (вариант Murmur hash для GCC), которая использует тот же seed хеша, что и [gcc](https://github.com/gcc-mirror/gcc/blob/41d6b10e96a1de98e90a7c0378437c3255814b16/libstdc%2B%2B-v3/include/bits/functional_hash.h#L191) [#4000](https://github.com/ClickHouse/ClickHouse/pull/4000) ([sundyli](https://github.com/sundy-li))
* Добавлены хеш-функции `javaHash`, `hiveHash`. [#3811](https://github.com/ClickHouse/ClickHouse/pull/3811) ([shangshujie365](https://github.com/shangshujie365))
* Добавлена табличная функция `remoteSecure`. Функция работает как `remote`, но использует защищённое соединение. [#4088](https://github.com/ClickHouse/ClickHouse/pull/4088) ([proller](https://github.com/proller))

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

* Добавлена эмуляция нескольких операций JOIN (настройка `allow_experimental_multiple_joins_emulation`). [#3946](https://github.com/ClickHouse/ClickHouse/pull/3946) ([Artem Zuikov](https://github.com/4ertus2))

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

* Параметр `compiled_expression_cache_size` теперь по умолчанию ограничен, чтобы снизить потребление памяти. [#4041](https://github.com/ClickHouse/ClickHouse/pull/4041) ([alesapin](https://github.com/alesapin))
* Исправлена ошибка, приводившая к зависанию потоков, выполняющих ALTER для таблиц Replicated, а также потока, обновляющего конфигурацию из ZooKeeper. [#2947](https://github.com/ClickHouse/ClickHouse/issues/2947) [#3891](https://github.com/ClickHouse/ClickHouse/issues/3891) [#3934](https://github.com/ClickHouse/ClickHouse/pull/3934) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлено состояние гонки при выполнении распределённой задачи ALTER. Из-за этого состояния гонки несколько реплик пытались выполнить задачу, и все реплики, кроме одной, завершались с ошибкой ZooKeeper. [#3904](https://github.com/ClickHouse/ClickHouse/pull/3904) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлена ошибка, из-за которой элементы конфигурации `from_zk` не обновлялись после тайм-аута запроса к ZooKeeper. [#2947](https://github.com/ClickHouse/ClickHouse/issues/2947) [#3947](https://github.com/ClickHouse/ClickHouse/pull/3947) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлена ошибка с неправильным префиксом для масок подсети IPv4. [#3945](https://github.com/ClickHouse/ClickHouse/pull/3945) ([alesapin](https://github.com/alesapin))
* Устранён сбой (`std::terminate`) в редких случаях, когда не удаётся создать новый поток из-за нехватки ресурсов. [#3956](https://github.com/ClickHouse/ClickHouse/pull/3956) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка при выполнении табличной функции `remote`, связанная с использованием неверных ограничений в `getStructureOfRemoteTable`. [#4009](https://github.com/ClickHouse/ClickHouse/pull/4009) ([alesapin](https://github.com/alesapin))
* Исправлена утечка netlink-сокетов. Они помещались в пул, где никогда не удалялись, а новые сокеты создавались при запуске нового потока, когда все имеющиеся сокеты были заняты. [#4017](https://github.com/ClickHouse/ClickHouse/pull/4017) ([Alex Zatelepin](https://github.com/ztlpn))
* Исправлена ошибка, из-за которой каталог `/proc/self/fd` закрывался до того, как из `/proc` успевали прочитать все файловые дескрипторы, после форка подпроцесса `odbc-bridge`. [#4120](https://github.com/ClickHouse/ClickHouse/pull/4120) ([alesapin](https://github.com/alesapin))
* Исправлено монотонное преобразование из String в UInt при использовании String в первичном ключе. [#3870](https://github.com/ClickHouse/ClickHouse/pull/3870) ([Winter Zhang](https://github.com/zhang2014))
* Исправлена ошибка в вычислении монотонности функции преобразования в целые числа. [#3921](https://github.com/ClickHouse/ClickHouse/pull/3921) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен segfault в функциях `arrayEnumerateUniq`, `arrayEnumerateDense` при передаче некоторых некорректных аргументов. [#3909](https://github.com/ClickHouse/ClickHouse/pull/3909) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлено UB в StorageMerge. [#3910](https://github.com/ClickHouse/ClickHouse/pull/3910) ([Amos Bird](https://github.com/amosbird))
* Исправлен segfault в функциях `addDays`, `subtractDays`. [#3913](https://github.com/ClickHouse/ClickHouse/pull/3913) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка: функции `round`, `floor`, `trunc`, `ceil` могли возвращать некорректный результат при работе с целочисленным аргументом и большим отрицательным значением scale. [#3914](https://github.com/ClickHouse/ClickHouse/pull/3914) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, вызванная 'kill query sync', которая приводила к созданию core dump. [#3916](https://github.com/ClickHouse/ClickHouse/pull/3916) ([muVulDeePecker](https://github.com/fancyqlx))
* Исправлена ошибка, из-за которой возникала длительная задержка после опустошения очереди репликации. [#3928](https://github.com/ClickHouse/ClickHouse/pull/3928) [#3932](https://github.com/ClickHouse/ClickHouse/pull/3932) ([alesapin](https://github.com/alesapin))
* Исправлено чрезмерное использование памяти при вставке в таблицу с первичным ключом `LowCardinality`. [#3955](https://github.com/ClickHouse/ClickHouse/pull/3955) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Исправлена сериализация `LowCardinality` для формата `Native` в случае пустых массивов. [#3907](https://github.com/ClickHouse/ClickHouse/issues/3907) [#4011](https://github.com/ClickHouse/ClickHouse/pull/4011) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Исправлен некорректный результат при использовании distinct по одному числовому столбцу LowCardinality. [#3895](https://github.com/ClickHouse/ClickHouse/issues/3895) [#4012](https://github.com/ClickHouse/ClickHouse/pull/4012) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Исправлена специализированная агрегация с ключом LowCardinality, когда включена настройка `compile`. [#3886](https://github.com/ClickHouse/ClickHouse/pull/3886) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Исправлена передача имени пользователя и пароля при запросах к реплицируемым таблицам. [#3957](https://github.com/ClickHouse/ClickHouse/pull/3957) ([alesapin](https://github.com/alesapin)) ([小路](https://github.com/nicelulu))
* Исправлено крайне редкое состояние гонки, которое могло возникать при получении списка таблиц в базе данных Dictionary во время перезагрузки словарей. [#3970](https://github.com/ClickHouse/ClickHouse/pull/3970) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлен некорректный результат при использовании HAVING с ROLLUP или CUBE. [#3756](https://github.com/ClickHouse/ClickHouse/issues/3756) [#3837](https://github.com/ClickHouse/ClickHouse/pull/3837) ([Sam Chou](https://github.com/reflection))
* Исправлены псевдонимы столбцов для запросов с синтаксисом `JOIN ON` и distributed таблиц. [#3980](https://github.com/ClickHouse/ClickHouse/pull/3980) ([Winter Zhang](https://github.com/zhang2014))
* Исправлена ошибка во внутренней реализации `quantileTDigest` (обнаружена Артёмом Вахрушевым). Эта ошибка никогда не возникает в ClickHouse и была актуальна только для тех, кто использует кодовую базу ClickHouse напрямую как библиотеку. [#3935](https://github.com/ClickHouse/ClickHouse/pull/3935) ([alexey-milovidov](https://github.com/alexey-milovidov))

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

* Поддержка `IF NOT EXISTS` в операторах `ALTER TABLE ADD COLUMN`, а также `IF EXISTS` в `DROP/MODIFY/CLEAR/COMMENT COLUMN`. [#3900](https://github.com/ClickHouse/ClickHouse/pull/3900) ([Boris Granveaud](https://github.com/bgranvea))
* Функция `parseDateTimeBestEffort`: добавлена поддержка форматов `DD.MM.YYYY`, `DD.MM.YY`, `DD-MM-YYYY`, `DD-Mon-YYYY`, `DD/Month/YYYY` и подобных. [#3922](https://github.com/ClickHouse/ClickHouse/pull/3922) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `CapnProtoInputStream` теперь поддерживает нерегулярные структуры. [#4063](https://github.com/ClickHouse/ClickHouse/pull/4063) ([Odin Hultgren Van Der Horst](https://github.com/Miniwoffer))
* Повышено удобство использования: добавлена проверка того, что процесс сервера запускается владельцем каталога данных. Запуск сервера от root запрещён, если данные принадлежат пользователю, отличному от root. [#3785](https://github.com/ClickHouse/ClickHouse/pull/3785) ([sergey-v-galtsev](https://github.com/sergey-v-galtsev))
* Улучшена логика проверки обязательных столбцов при анализе запросов с JOIN. [#3930](https://github.com/ClickHouse/ClickHouse/pull/3930) ([Artem Zuikov](https://github.com/4ertus2))
* Уменьшено число соединений при большом количестве Distributed tables на одном сервере. [#3726](https://github.com/ClickHouse/ClickHouse/pull/3726) ([Winter Zhang](https://github.com/zhang2014))
* Добавлена поддержка итоговой строки для запроса `WITH TOTALS` в ODBC Driver. [#3836](https://github.com/ClickHouse/ClickHouse/pull/3836) ([Maksim Koritckiy](https://github.com/nightweb))
* Разрешено использовать `Enum` как целые числа внутри функции if. [#3875](https://github.com/ClickHouse/ClickHouse/pull/3875) ([Ivan](https://github.com/abyss7))
* Добавлена настройка `low_cardinality_allow_in_native_format`. Если она отключена, тип `LowCadrinality` не используется в формате `Native`. [#3879](https://github.com/ClickHouse/ClickHouse/pull/3879) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Из кэша compiled expressions удалены некоторые избыточные объекты, чтобы снизить использование памяти. [#4042](https://github.com/ClickHouse/ClickHouse/pull/4042) ([alesapin](https://github.com/alesapin))
* Добавлена проверка того, что запрос `SET send_logs_level = 'value'` принимает допустимое значение. [#3873](https://github.com/ClickHouse/ClickHouse/pull/3873) ([Sabyanin Maxim](https://github.com/s-mx))
* Исправлена проверка типов данных в функциях преобразования типов. [#3896](https://github.com/ClickHouse/ClickHouse/pull/3896) ([Winter Zhang](https://github.com/zhang2014))

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

* Добавлена настройка MergeTree `use_minimalistic_part_header_in_zookeeper`. Если она включена, таблицы Replicated будут хранить метаданные компактной части в одном znode для части. Это может значительно уменьшить размер снимка ZooKeeper (особенно если в таблицах много столбцов). Обратите внимание: после включения этой настройки вы не сможете перейти на более раннюю версию, которая её не поддерживает. [#3960](https://github.com/ClickHouse/ClickHouse/pull/3960) ([Alex Zatelepin](https://github.com/ztlpn))
* Добавлена реализация с использованием DFA для функций `sequenceMatch` и `sequenceCount`, если шаблон регулярного выражения не содержит временных условий. [#4004](https://github.com/ClickHouse/ClickHouse/pull/4004) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))
* Улучшена производительность сериализации целых чисел. [#3968](https://github.com/ClickHouse/ClickHouse/pull/3968) ([Amos Bird](https://github.com/amosbird))
* Для PODArray добавлено заполнение нулями слева, чтобы элемент с индексом -1 всегда был допустимым и обнулённым. Это используется для вычисления смещений без ветвлений. [#3920](https://github.com/ClickHouse/ClickHouse/pull/3920) ([Amos Bird](https://github.com/amosbird))
* Возвращена предыдущая версия `jemalloc`, так как она приводила к снижению производительности. [#4018](https://github.com/ClickHouse/ClickHouse/pull/4018) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="backward-incompatible-changes">
  #### Обратно несовместимые изменения
</div>

* Удалена недокументированная возможность `ALTER MODIFY PRIMARY KEY`, поскольку её заменила команда `ALTER MODIFY ORDER BY`. [#3887](https://github.com/ClickHouse/ClickHouse/pull/3887) ([Alex Zatelepin](https://github.com/ztlpn))
* Удалена функция `shardByHash`. [#3833](https://github.com/ClickHouse/ClickHouse/pull/3833) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Запрещено использовать скалярные подзапросы, возвращающие результат типа `AggregateFunction`. [#3865](https://github.com/ClickHouse/ClickHouse/pull/3865) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvements-6">
  #### Улучшения сборки, тестирования и упаковки
</div>

* Добавлена поддержка сборки для PowerPC (`ppc64le`). [#4132](https://github.com/ClickHouse/ClickHouse/pull/4132) ([Danila Kutenin](https://github.com/danlark1))
* Функциональные тесты с сохранением состояния запускаются на общедоступном наборе данных. [#3969](https://github.com/ClickHouse/ClickHouse/pull/3969) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлена ошибка, из-за которой server не мог запуститься и выводил сообщение `bash: /usr/bin/clickhouse-extract-from-config: Operation not permitted` в Docker или systemd-nspawn. [#4136](https://github.com/ClickHouse/ClickHouse/pull/4136) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Обновлена библиотека `rdkafka` до v1.0.0-RC5. Вместо низкоуровневого интерфейса на C использован cppkafka. [#4025](https://github.com/ClickHouse/ClickHouse/pull/4025) ([Ivan](https://github.com/abyss7))
* Обновлена библиотека `mariadb-client`. Исправлена одна из проблем, выявленных UBSan. [#3924](https://github.com/ClickHouse/ClickHouse/pull/3924) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Некоторые исправления в сборках UBSan. [#3926](https://github.com/ClickHouse/ClickHouse/pull/3926) [#3021](https://github.com/ClickHouse/ClickHouse/pull/3021) [#3948](https://github.com/ClickHouse/ClickHouse/pull/3948) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлены прогоны тестов для каждого коммита в сборке с UBSan.
* Добавлены запуски статического анализатора PVS-Studio для каждого коммита.
* Исправлены ошибки, выявленные с помощью PVS-Studio. [#4013](https://github.com/ClickHouse/ClickHouse/pull/4013) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены проблемы с совместимостью glibc. [#4100](https://github.com/ClickHouse/ClickHouse/pull/4100) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Docker-образы переведены на 18.10, добавлен файл совместимости для glibc >= 2.28 [#3965](https://github.com/ClickHouse/ClickHouse/pull/3965) ([alesapin](https://github.com/alesapin))
* Добавлена переменная окружения для случаев, когда пользователь не хочет выполнять `chown` для каталогов в Docker-образе сервера. [#3967](https://github.com/ClickHouse/ClickHouse/pull/3967) ([alesapin](https://github.com/alesapin))
* В clang включили большинство предупреждений из `-Weverything`. Включили `-Wpedantic`. [#3986](https://github.com/ClickHouse/ClickHouse/pull/3986) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Добавлено ещё несколько предупреждений, доступных только в Clang 8. [#3993](https://github.com/ClickHouse/ClickHouse/pull/3993) ([alexey-milovidov](https://github.com/alexey-milovidov))
* При динамической компоновке используйте `libLLVM`, а не отдельные библиотеки LLVM. [#3989](https://github.com/ClickHouse/ClickHouse/pull/3989) ([Orivej Desh](https://github.com/orivej))
* Добавлены переменные санитайзера для тестовых образов. [#4072](https://github.com/ClickHouse/ClickHouse/pull/4072) ([alesapin](https://github.com/alesapin))
* Пакет Debian `clickhouse-server` будет рекомендовать пакет `libcap2-bin` для использования инструмента `setcap` при назначении привилегий. Это необязательно. [#4093](https://github.com/ClickHouse/ClickHouse/pull/4093) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ускорена компиляция, исправлены директивы include. [#3898](https://github.com/ClickHouse/ClickHouse/pull/3898) ([proller](https://github.com/proller))
* Добавлены тесты производительности хеш-функций. [#3918](https://github.com/ClickHouse/ClickHouse/pull/3918) ([filimonov](https://github.com/filimonov))
* Исправлены циклические зависимости библиотек. [#3958](https://github.com/ClickHouse/ClickHouse/pull/3958) ([proller](https://github.com/proller))
* Улучшена компиляция в условиях ограниченной доступной памяти. [#4030](https://github.com/ClickHouse/ClickHouse/pull/4030) ([proller](https://github.com/proller))
* Добавлен тестовый скрипт для воспроизведения падения производительности в `jemalloc`. [#4036](https://github.com/ClickHouse/ClickHouse/pull/4036) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Исправлены опечатки в комментариях и строковых литералах в `dbms`. [#4122](https://github.com/ClickHouse/ClickHouse/pull/4122) ([maiha](https://github.com/maiha))
* Исправлены опечатки в комментариях. [#4089](https://github.com/ClickHouse/ClickHouse/pull/4089) ([Evgenii Pravda](https://github.com/kvinty))

<div id="changelog-for-2018">
  ## [Журнал изменений за 2018 год](/ru/resources/changelogs/oss/2018)
</div>
