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

# Historique des modifications de 2019

> Historique des modifications pour 2019

<div id="clickhouse-release-v19-17">
  ## Version de ClickHouse 19.17
</div>

<div id="clickhouse-release-v19-17-6-36-2019-12-27">
  ### Version de ClickHouse 19.17.6.36, 2019-12-27
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’un potentiel dépassement de tampon dans decompress. Un utilisateur malveillant peut transmettre des données compressées falsifiées susceptibles de provoquer une lecture hors des limites du tampon. Ce problème a été découvert par Eldar Zaitov de l’équipe de sécurité de l’information de Yandex. [#8404](https://github.com/ClickHouse/ClickHouse/pull/8404) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un possible plantage du serveur (`std::terminate`) lorsque le serveur ne peut pas envoyer ou écrire des données au format JSON ou XML avec des valeurs de type String (qui nécessitent une validation UTF-8), lors de la compression des données de résultat avec l’algorithme Brotli, ou dans certains autres cas rares. [#8384](https://github.com/ClickHouse/ClickHouse/pull/8384) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction des dictionnaires dont la source est une `VIEW` ClickHouse : désormais, la lecture de tels dictionnaires ne provoque plus l’erreur `There is no query`. [#8351](https://github.com/ClickHouse/ClickHouse/pull/8351) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction de la vérification déterminant si un hôte client est autorisé par host\_regexp spécifié dans 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` pour une table distribuée renomme désormais le dossier contenant les données insérées avant leur envoi aux shards. Cela corrige un problème lors de renommages successifs `tableA->tableB`, `tableC->tableA`. [#8306](https://github.com/ClickHouse/ClickHouse/pull/8306) ([tavplubix](https://github.com/tavplubix))
* Les external dictionaries `range_hashed` créés par des DDL queries prennent désormais en charge des plages de types numériques arbitraires. [#8275](https://github.com/ClickHouse/ClickHouse/pull/8275) ([alesapin](https://github.com/alesapin))
* Correction de la table function `INSERT INTO table SELECT ... FROM mysql(...)`. [#8234](https://github.com/ClickHouse/ClickHouse/pull/8234) ([tavplubix](https://github.com/tavplubix))
* Correction d’un segfault dans `INSERT INTO TABLE FUNCTION file()` lors d’un insert dans un fichier inexistant. Désormais, dans ce cas, le fichier est créé, puis l’insert est exécuté. [#8177](https://github.com/ClickHouse/ClickHouse/pull/8177) ([Olga Khvostikova](https://github.com/stavrolia))
* Correction d’une error de bitmapAnd lors de l’intersection d’un bitmap agrégé et d’un bitmap scalaire. [#8082](https://github.com/ClickHouse/ClickHouse/pull/8082) ([Yue Huang](https://github.com/moon03432))
* Correction d’un segfault lorsque la query `EXISTS` était utilisée sans qualificatif `TABLE` ou `DICTIONARY`, simplement sous la forme `EXISTS t`. [#8213](https://github.com/ClickHouse/ClickHouse/pull/8213) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction du return type des fonctions `rand` et `randConstant` dans le cas d’un argument nullable. Désormais, ces fonctions renvoient toujours `UInt32` et jamais `Nullable(UInt32)`. [#8204](https://github.com/ClickHouse/ClickHouse/pull/8204) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction de `DROP DICTIONARY IF EXISTS db.dict` : désormais, cela ne génère plus d’exception si `db` n’existe pas. [#8185](https://github.com/ClickHouse/ClickHouse/pull/8185) ([Vitaly Baranov](https://github.com/vitlibar))
* Si une table n’avait pas été complètement supprimée à cause d’un plantage du serveur, le serveur essaiera de la restaurer et de la charger [#8176](https://github.com/ClickHouse/ClickHouse/pull/8176) ([tavplubix](https://github.com/tavplubix))
* Correction d’une query count triviale pour une table distribuée lorsqu’il y a plus de deux tables locales de shard. [#8164](https://github.com/ClickHouse/ClickHouse/pull/8164) ([小路](https://github.com/nicelulu))
* Correction d’un bug qui entraînait une data race dans DB::BlockStreamProfileInfo::calculateRowsBeforeLimit() [#8143](https://github.com/ClickHouse/ClickHouse/pull/8143) ([Alexander Kazakov](https://github.com/Akazz))
* Correction de `ALTER table MOVE part` lorsqu’il était exécuté immédiatement après la fusion de la partie spécifiée, ce qui pouvait entraîner le déplacement de la partie dans laquelle cette partie avait été fusionnée. Désormais, c’est bien la partie spécifiée qui est déplacée. [#8104](https://github.com/ClickHouse/ClickHouse/pull/8104) ([Vladimir Chebotarev](https://github.com/excitoon))
* Les expressions des dictionnaires peuvent désormais être spécifiées sous forme de chaînes. C’est utile pour le calcul des attributs lors de l’extraction de données depuis des sources non ClickHouse, car cela permet d’utiliser une syntaxe non ClickHouse pour ces expressions. [#8098](https://github.com/ClickHouse/ClickHouse/pull/8098) ([alesapin](https://github.com/alesapin))
* Correction d’une condition de concurrence très rare dans `clickhouse-copier` due à un overflow dans ZXid. [#8088](https://github.com/ClickHouse/ClickHouse/pull/8088) ([Ding Xiang Fei](https://github.com/dingxiangfei2009))
* Correction du bug où, après l’échec d’une requête (à cause de "Too many simultaneous queries", par exemple), les informations sur les tables externes n’étaient pas lues, et la
  requête suivante interprétait ces informations comme le début de la requête suivante, provoquant une erreur du type `Unknown packet from client`. [#8084](https://github.com/ClickHouse/ClickHouse/pull/8084) ([Azat Khuzhin](https://github.com/azat))
* Évite un déréférencement de pointeur nul après "Unknown packet X from server" [#8071](https://github.com/ClickHouse/ClickHouse/pull/8071) ([Azat Khuzhin](https://github.com/azat))
* Restaure la prise en charge de toutes les locales ICU, ajoute la possibilité d’appliquer des collations aux expressions constantes et ajoute le nom de la langue à la table system.collations. [#8051](https://github.com/ClickHouse/ClickHouse/pull/8051) ([alesapin](https://github.com/alesapin))
* Le nombre de flux de lecture depuis `StorageFile` et `StorageHDFS` est désormais limité afin d’éviter de dépasser la limite de mémoire. [#7981](https://github.com/ClickHouse/ClickHouse/pull/7981) ([alesapin](https://github.com/alesapin))
* Correction de la requête `CHECK TABLE` pour les tables `*MergeTree` sans clé. [#7979](https://github.com/ClickHouse/ClickHouse/pull/7979) ([alesapin](https://github.com/alesapin))
* Suppression du numéro de mutation du nom d’une partie lorsqu’il n’y avait pas de mutations. Cette suppression a amélioré la compatibilité avec les anciennes versions. [#8250](https://github.com/ClickHouse/ClickHouse/pull/8250) ([alesapin](https://github.com/alesapin))
* Correction du bug qui faisait que les mutations étaient ignorées pour certaines parties attachées, car leur data\_version était supérieure à la version de mutation de la table. [#7812](https://github.com/ClickHouse/ClickHouse/pull/7812) ([Zhichang Yu](https://github.com/yuzhichang))
* Autorise le démarrage du serveur avec des copies redondantes de parties après leur déplacement vers un autre périphérique. [#7810](https://github.com/ClickHouse/ClickHouse/pull/7810) ([Vladimir Chebotarev](https://github.com/excitoon))
* Correction de l’erreur "Sizes of columns does not match" qui pouvait apparaître lors de l’utilisation de colonnes de fonction d’agrégation. [#7790](https://github.com/ClickHouse/ClickHouse/pull/7790) ([Boris Granveaud](https://github.com/bgranvea))
* Désormais, une exception sera levée en cas d’utilisation de WITH TIES avec LIMIT BY. Il est également désormais possible d’utiliser TOP avec LIMIT BY. [#7637](https://github.com/ClickHouse/ClickHouse/pull/7637) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Correction du rechargement du dictionnaire lorsqu’il contient `invalidate_query`, ce qui bloquait les mises à jour et provoquait certaines exceptions lors des tentatives de mise à jour précédentes. [#8029](https://github.com/ClickHouse/ClickHouse/pull/8029) ([alesapin](https://github.com/alesapin))

<div id="clickhouse-release-v19-17-4-11-2019-11-22">
  ### Version de ClickHouse 19.17.4.11, 2019-11-22
</div>

<div id="backward-incompatible-change">
  #### Changement incompatible avec les versions antérieures
</div>

* Utilisation d’une colonne au lieu d’un AST pour stocker les résultats des sous-requêtes scalaires afin d’améliorer les performances. Le paramètre `enable_scalar_subquery_optimization` a été ajouté dans la version 19.17 et était activé par défaut. Cela provoque des erreurs comme [celle-ci](https://github.com/ClickHouse/ClickHouse/issues/7851) lors de la mise à niveau depuis des versions antérieures vers 19.17.2 ou 19.17.3. Ce paramètre a été désactivé par défaut dans la version 19.17.4 afin de permettre la mise à niveau depuis 19.16 et les versions antérieures sans erreur. [#7392](https://github.com/ClickHouse/ClickHouse/pull/7392) ([Amos Bird](https://github.com/amosbird))

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Ajout de la possibilité de créer des dictionnaires via des requêtes DDL. [#7360](https://github.com/ClickHouse/ClickHouse/pull/7360) ([alesapin](https://github.com/alesapin))
* Prise en charge de `LowCardinality` et `Nullable` par le type d’index `bloom_filter` [#7363](https://github.com/ClickHouse/ClickHouse/issues/7363) [#7561](https://github.com/ClickHouse/ClickHouse/pull/7561) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Ajout de la fonction `isValidJSON` pour vérifier que la chaîne transmise est un JSON valide. [#5910](https://github.com/ClickHouse/ClickHouse/issues/5910) [#7293](https://github.com/ClickHouse/ClickHouse/pull/7293) ([Vdimir](https://github.com/Vdimir))
* Implémentation de la fonction `arrayCompact` [#7328](https://github.com/ClickHouse/ClickHouse/pull/7328) ([Memo](https://github.com/Joeywzr))
* Création de la fonction `hex` pour les nombres `Decimal`. Elle fonctionne comme `hex(reinterpretAsString())`, mais ne supprime pas les derniers octets nuls. [#7355](https://github.com/ClickHouse/ClickHouse/pull/7355) ([Mikhail Korotov](https://github.com/millb))
* Ajout des fonctions `arrayFill` et `arrayReverseFill`, qui remplacent des éléments par les éléments précédents/suivants du tableau. [#7380](https://github.com/ClickHouse/ClickHouse/pull/7380) ([hcz](https://github.com/hczhcz))
* Ajout de la prise en charge de `CRC32IEEE()`/`CRC64()` [#7480](https://github.com/ClickHouse/ClickHouse/pull/7480) ([Azat Khuzhin](https://github.com/azat))
* Implémentation de la fonction `char`, similaire à celle de [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))
* Ajout de la fonction `bitmapTransform`. Elle transforme un tableau de valeurs d’un bitmap en un autre tableau de valeurs ; le résultat est un nouveau bitmap [#7598](https://github.com/ClickHouse/ClickHouse/pull/7598) ([Zhichang Yu](https://github.com/yuzhichang))
* Implémentation de la fonction `javaHashUTF16LE()` [#7651](https://github.com/ClickHouse/ClickHouse/pull/7651) ([achimbab](https://github.com/achimbab))
* Ajout de la colonne virtuelle `_shard_num` pour le moteur Distributed [#7624](https://github.com/ClickHouse/ClickHouse/pull/7624) ([Azat Khuzhin](https://github.com/azat))

<div id="experimental-feature">
  #### Fonctionnalité expérimentale
</div>

* Ajout de la prise en charge des processeurs (nouveau pipeline d'exécution des requêtes) dans `MergeTree`. [#7181](https://github.com/ClickHouse/ClickHouse/pull/7181) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="bug-fix">
  #### Correction de bugs
</div>

* Corrige l’analyse incorrecte des nombres à virgule flottante dans `Values` [#7817](https://github.com/ClickHouse/ClickHouse/issues/7817) [#7870](https://github.com/ClickHouse/ClickHouse/pull/7870) ([tavplubix](https://github.com/tavplubix))
* Corrige un interblocage rare pouvant survenir lorsque trace\_log est activé. [#7838](https://github.com/ClickHouse/ClickHouse/pull/7838) ([filimonov](https://github.com/filimonov))
* Empêche la duplication des messages lorsqu’une Kafka table en production possède des MV qui la sélectionnent [#7265](https://github.com/ClickHouse/ClickHouse/pull/7265) ([Ivan](https://github.com/abyss7))
* Prise en charge de `Array(LowCardinality(Nullable(String)))` dans `IN`. Résout [#7364](https://github.com/ClickHouse/ClickHouse/issues/7364) [#7366](https://github.com/ClickHouse/ClickHouse/pull/7366) ([achimbab](https://github.com/achimbab))
* Ajoute la prise en charge de `SQL_TINYINT` et `SQL_BIGINT`, et corrige la gestion des source types `SQL_FLOAT` dans ODBC Bridge. [#7491](https://github.com/ClickHouse/ClickHouse/pull/7491) ([Denis Glazachev](https://github.com/traceon))
* Corrige l’agrégation (`avg` et quantiles) sur des colonnes décimales vides [#7431](https://github.com/ClickHouse/ClickHouse/pull/7431) ([Andrey Konyaev](https://github.com/akonyaev90))
* Corrige `INSERT` dans Distributed avec des colonnes `MATERIALIZED` [#7377](https://github.com/ClickHouse/ClickHouse/pull/7377) ([Azat Khuzhin](https://github.com/azat))
* Permet à `MOVE PARTITION` de fonctionner si certaines parts de la partition se trouvent déjà sur le disque ou le volume de destination [#7434](https://github.com/ClickHouse/ClickHouse/pull/7434) ([Vladimir Chebotarev](https://github.com/excitoon))
* Corrige un bug où la création de liens physiques échouait lors de mutations dans `ReplicatedMergeTree` avec des configurations multi-disques. [#7558](https://github.com/ClickHouse/ClickHouse/pull/7558) ([Vladimir Chebotarev](https://github.com/excitoon))
* Corrige un bug lié à une mutation sur un MergeTree lorsque la part entière reste inchangée et que le meilleur espace est recherché sur un autre disque [#7602](https://github.com/ClickHouse/ClickHouse/pull/7602) ([Vladimir Chebotarev](https://github.com/excitoon))
* Corrige un bug où `keep_free_space_ratio` n’était pas lu à partir de la configuration des disques [#7645](https://github.com/ClickHouse/ClickHouse/pull/7645) ([Vladimir Chebotarev](https://github.com/excitoon))
* Corrige un bug lorsqu’une table contient uniquement des colonnes `Tuple` ou des colonnes avec des paths complexes. Corrige [7541](https://github.com/ClickHouse/ClickHouse/issues/7541). [#7545](https://github.com/ClickHouse/ClickHouse/pull/7545) ([alesapin](https://github.com/alesapin))
* N’inclut pas la mémoire du moteur Buffer dans la limite max\_memory\_usage [#7552](https://github.com/ClickHouse/ClickHouse/pull/7552) ([Azat Khuzhin](https://github.com/azat))
* Corrige l’utilisation du mark final dans les tables `MergeTree` ordonnées par `tuple()`. Dans de rares cas, cela pouvait provoquer l’erreur `Can't adjust last granule` lors d’un select. [#7639](https://github.com/ClickHouse/ClickHouse/pull/7639) ([Anton Popov](https://github.com/CurtizJ))
* Corrige un bug dans les mutations dont le prédicat comporte des actions nécessitant un Context (par exemple des fonctions pour json), ce qui pouvait entraîner des crashs ou des exceptions étranges. [#7664](https://github.com/ClickHouse/ClickHouse/pull/7664) ([alesapin](https://github.com/alesapin))
* Corrige l’incohérence dans l’échappement des noms de database et de table dans les répertoires `data/` et `shadow/` [#7575](https://github.com/ClickHouse/ClickHouse/pull/7575) ([Alexander Burmak](https://github.com/Alex-Burmak))
* Prise en charge des clés dupliquées dans les RIGHT|FULL JOIN, par ex. `ON t.x = u.x AND t.x = u.y`. Correction du crash dans ce cas. [#7586](https://github.com/ClickHouse/ClickHouse/pull/7586) ([Artem Zuikov](https://github.com/4ertus2))
* Correction de `Not found column <expression> in block` lors d'une jointure sur une expression avec RIGHT ou FULL JOIN. [#7641](https://github.com/ClickHouse/ClickHouse/pull/7641) ([Artem Zuikov](https://github.com/4ertus2))
* Nouvelle tentative de correction de la boucle infinie dans le format `PrettySpace` [#7591](https://github.com/ClickHouse/ClickHouse/pull/7591) ([Olga Khvostikova](https://github.com/stavrolia))
* Correction d'un bug dans la fonction `concat` lorsque tous les arguments étaient des `FixedString` de même taille. [#7635](https://github.com/ClickHouse/ClickHouse/pull/7635) ([alesapin](https://github.com/alesapin))
* Correction d'une exception lors de l'utilisation d'un seul argument dans la définition des stockages S3, URL et HDFS. [#7618](https://github.com/ClickHouse/ClickHouse/pull/7618) ([Vladimir Chebotarev](https://github.com/excitoon))
* Correction de la portée de l'InterpreterSelectQuery pour les vues avec requête [#7601](https://github.com/ClickHouse/ClickHouse/pull/7601) ([Azat Khuzhin](https://github.com/azat))

<div id="improvement">
  #### Amélioration
</div>

* Les colonnes `Nullable` sont reconnues et les valeurs NULL sont correctement gérées par ODBC-bridge [#7402](https://github.com/ClickHouse/ClickHouse/pull/7402) ([Vasily Nemkov](https://github.com/Enmk))
* Écriture atomique du batch en cours pour l’envoi distribué [#7600](https://github.com/ClickHouse/ClickHouse/pull/7600) ([Azat Khuzhin](https://github.com/azat))
* Lever une exception si la table correspondant au nom de colonne dans la requête ne peut pas être déterminée. [#7358](https://github.com/ClickHouse/ClickHouse/pull/7358) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout du paramètre `merge_max_block_size` à `MergeTreeSettings` [#7412](https://github.com/ClickHouse/ClickHouse/pull/7412) ([Artem Zuikov](https://github.com/4ertus2))
* Les requêtes avec `HAVING` et sans `GROUP BY` supposent un `GROUP BY` sur une constante. Ainsi, `SELECT 1 HAVING 1` renvoie désormais un résultat. [#7496](https://github.com/ClickHouse/ClickHouse/pull/7496) ([Amos Bird](https://github.com/amosbird))
* Prise en charge de l’interprétation de `(X,)` comme un tuple, comme en Python. [#7501](https://github.com/ClickHouse/ClickHouse/pull/7501), [#7562](https://github.com/ClickHouse/ClickHouse/pull/7562) ([Amos Bird](https://github.com/amosbird))
* Le comportement de la fonction `range` devient presque identique à celui de Python. [#7518](https://github.com/ClickHouse/ClickHouse/pull/7518) ([sundyli](https://github.com/sundy-li))
* Ajout des colonnes `constraints` à la table `system.settings` [#7553](https://github.com/ClickHouse/ClickHouse/pull/7553) ([Vitaly Baranov](https://github.com/vitlibar))
* Amélioration du format Null pour le TCP handler, afin qu’il soit possible d’utiliser `select ignore(<expression>) from table format Null` pour mesurer les performances via clickhouse-client [#7606](https://github.com/ClickHouse/ClickHouse/pull/7606) ([Amos Bird](https://github.com/amosbird))
* Les requêtes comme `CREATE TABLE ... AS (SELECT (1, 2))` sont correctement interprétées [#7542](https://github.com/ClickHouse/ClickHouse/pull/7542) ([hcz](https://github.com/hczhcz))

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Amélioration des performances de l’agrégation sur des clés String courtes. [#6243](https://github.com/ClickHouse/ClickHouse/pull/6243) ([Alexander Kuzmenkov](https://github.com/akuzm), [Amos Bird](https://github.com/amosbird))
* Exécution d’un nouveau passage d’analyse syntaxique/des expressions afin d’obtenir des optimisations potentielles après le repliement des prédicats constants. [#7497](https://github.com/ClickHouse/ClickHouse/pull/7497) ([Amos Bird](https://github.com/amosbird))
* Utilisation des métadonnées de stockage pour évaluer le `SELECT count() FROM table;` trivial. [#7510](https://github.com/ClickHouse/ClickHouse/pull/7510) ([Amos Bird](https://github.com/amosbird), [alexey-milovidov](https://github.com/alexey-milovidov))
* Vectorisation du traitement de `arrayReduce`, à l’instar de `addBatch` dans Aggregator. [#7608](https://github.com/ClickHouse/ClickHouse/pull/7608) ([Amos Bird](https://github.com/amosbird))
* Améliorations mineures des performances de consumption de `Kafka` [#7475](https://github.com/ClickHouse/ClickHouse/pull/7475) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvement">
  #### amélioration de la compilation, des tests et du packaging
</div>

* Ajout de la prise en charge de la compilation croisée pour l'architecture CPU AARCH64. Refactorisation du script de packaging. [#7370](https://github.com/ClickHouse/ClickHouse/pull/7370) [#7539](https://github.com/ClickHouse/ClickHouse/pull/7539) ([Ivan](https://github.com/abyss7))
* Décompression des toolchains darwin-x86\_64 et linux-aarch64 dans le volume Docker monté lors de la création des paquets [#7534](https://github.com/ClickHouse/ClickHouse/pull/7534) ([Ivan](https://github.com/abyss7))
* Mise à jour de l'image Docker du packager binaire [#7474](https://github.com/ClickHouse/ClickHouse/pull/7474) ([Ivan](https://github.com/abyss7))
* Correction des erreurs de compilation sous macOS Catalina [#7585](https://github.com/ClickHouse/ClickHouse/pull/7585) ([Ernest Poletaev](https://github.com/ernestp))
* Quelques refactorisations de la logique d'analyse des requêtes : scission d'une classe complexe en plusieurs classes plus simples. [#7454](https://github.com/ClickHouse/ClickHouse/pull/7454) ([Artem Zuikov](https://github.com/4ertus2))
* Correction du build sans sous-modules [#7295](https://github.com/ClickHouse/ClickHouse/pull/7295) ([proller](https://github.com/proller))
* Amélioration de `add_globs` dans les fichiers CMake [#7418](https://github.com/ClickHouse/ClickHouse/pull/7418) ([Amos Bird](https://github.com/amosbird))
* Suppression des chemins codés en dur dans la cible `unwind` [#7460](https://github.com/ClickHouse/ClickHouse/pull/7460) ([Konstantin Podshumok](https://github.com/podshumok))
* Autorisation de l'utilisation du format MySQL sans SSL [#7524](https://github.com/ClickHouse/ClickHouse/pull/7524) ([proller](https://github.com/proller))

<div id="other">
  #### Autres
</div>

* Ajout d’une grammaire ANTLR4 pour le dialecte SQL de ClickHouse [#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">
  ## Version de ClickHouse 19.16
</div>

<div id="clickhouse-release-v19-16-14-65-2020-03-25">
  #### Version de ClickHouse 19.16.14.65, 2020-03-25
</div>

* Correction d’un bug affectant les calculs par lot des opérations logiques ternaires avec plusieurs arguments (plus de 10). [#8718](https://github.com/ClickHouse/ClickHouse/pull/8718) ([Alexander Kazakov](https://github.com/Akazz)) Ce correctif a été rétroporté vers la version 19.16 à la demande spéciale d’Altinity.

<div id="clickhouse-release-v19-16-14-65-2020-03-05">
  #### Version de ClickHouse 19.16.14.65, 2020-03-05
</div>

* Correction de l’incompatibilité des sous-requêtes distribuées avec les anciennes versions de ClickHouse. Corrige [#7851](https://github.com/ClickHouse/ClickHouse/issues/7851)
  [(tabplubix)](https://github.com/tavplubix)
* Lors de l’exécution d’une requête `CREATE`, évalue les expressions constantes dans les arguments du moteur de stockage. Remplace le nom de base de données vide par la base de données courante. Corrige [#6508](https://github.com/ClickHouse/ClickHouse/issues/6508), [#3492](https://github.com/ClickHouse/ClickHouse/issues/3492). Corrige également la vérification de l’adresse locale dans `ClickHouseDictionarySource`.
  [#9262](https://github.com/ClickHouse/ClickHouse/pull/9262) [(tabplubix)](https://github.com/tavplubix)
* Désormais, les fusions en arrière-plan de la famille des moteurs de table `*MergeTree` préservent plus fidèlement l’ordre des volumes de la policy de stockage.
  [#8549](https://github.com/ClickHouse/ClickHouse/pull/8549) ([Vladimir Chebotarev](https://github.com/excitoon))
* Évite la perte de données dans `Kafka` dans de rares cas où une exception se produit après la lecture du suffixe, mais avant le commit. Corrige [#9378](https://github.com/ClickHouse/ClickHouse/issues/9378). En lien avec : [#7175](https://github.com/ClickHouse/ClickHouse/issues/7175)
  [#9507](https://github.com/ClickHouse/ClickHouse/pull/9507) [(filimonov)](https://github.com/filimonov)
* Corrige un bug entraînant l’arrêt du serveur lors d’une tentative d’utilisation ou de suppression d’une table `Kafka` créée avec des paramètres incorrects. Corrige [#9494](https://github.com/ClickHouse/ClickHouse/issues/9494). Intègre [#9507](https://github.com/ClickHouse/ClickHouse/issues/9507).
  [#9513](https://github.com/ClickHouse/ClickHouse/pull/9513) [(filimonov)](https://github.com/filimonov)
* Autorise l’utilisation de `MaterializedView` avec des sous-requêtes sur des tables `Kafka`.
  [#8197](https://github.com/ClickHouse/ClickHouse/pull/8197) ([filimonov](https://github.com/filimonov))

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Ajout de l’option `deduplicate_blocks_in_dependent_materialized_views` pour contrôler le comportement des insertions idempotentes dans des tables comportant des vues matérialisées. Cette nouvelle fonctionnalité a été ajoutée à cette version corrective à la demande expresse d’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">
  ### Version de ClickHouse 19.16.2.2, 2019-10-30
</div>

<div id="backward-incompatible-change">
  #### Changement incompatible avec les versions antérieures
</div>

* Ajout de la validation de l’arité pour count/counIf.
  [#7095](https://github.com/ClickHouse/ClickHouse/issues/7095)
  [#7298](https://github.com/ClickHouse/ClickHouse/pull/7298) ([Vdimir](https://github.com/Vdimir))
* Suppression de l’ancien paramètre `asterisk_left_columns_only` (il était désactivé par défaut).
  [#7335](https://github.com/ClickHouse/ClickHouse/pull/7335) ([Artem
  Zuikov](https://github.com/4ertus2))
* Les chaînes de format du format de données Template sont désormais définies dans des fichiers.
  [#7118](https://github.com/ClickHouse/ClickHouse/pull/7118)
  ([tavplubix](https://github.com/tavplubix))

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Introduction de uniqCombined64() pour calculer une cardinalité supérieure à UINT\_MAX.
  [#7213](https://github.com/ClickHouse/ClickHouse/pull/7213),
  [#7222](https://github.com/ClickHouse/ClickHouse/pull/7222) ([Azat
  Khuzhin](https://github.com/azat))
* Prise en charge des index Bloom filter sur les colonnes Array.
  [#6984](https://github.com/ClickHouse/ClickHouse/pull/6984)
  ([achimbab](https://github.com/achimbab))
* Ajout d'une fonction `getMacro(name)` qui renvoie une String contenant la valeur du `<macros>`
  correspondant dans la configuration du serveur. [#7240](https://github.com/ClickHouse/ClickHouse/pull/7240)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Définition de deux options de configuration pour un dictionnaire basé sur une source HTTP : `credentials` et
  `http-headers`. [#7092](https://github.com/ClickHouse/ClickHouse/pull/7092) ([Guillaume
  Tassery](https://github.com/YiuRULE))
* Ajout d'un nouveau ProfileEvent `Merge` qui compte le nombre de merges en arrière-plan lancés.
  [#7093](https://github.com/ClickHouse/ClickHouse/pull/7093) ([Mikhail
  Korotov](https://github.com/millb))
* Ajout de la fonction fullHostName qui renvoie un nom de domaine pleinement qualifié.
  [#7263](https://github.com/ClickHouse/ClickHouse/issues/7263)
  [#7291](https://github.com/ClickHouse/ClickHouse/pull/7291) ([sundyli](https://github.com/sundy-li))
* Ajout des fonctions `arraySplit` et `arrayReverseSplit` qui divisent un tableau selon des conditions
  de « coupure ». Elles sont utiles pour le traitement des séquences temporelles.
  [#7294](https://github.com/ClickHouse/ClickHouse/pull/7294) ([hcz](https://github.com/hczhcz))
* Ajout de nouvelles fonctions qui renvoient l'Array de tous les index correspondants dans la famille de fonctions multiMatch.
  [#7299](https://github.com/ClickHouse/ClickHouse/pull/7299) ([Danila
  Kutenin](https://github.com/danlark1))
* Ajout d'un nouveau database engine `Lazy`, optimisé pour le stockage d'un grand nombre de petites tables -Log.
  [#7171](https://github.com/ClickHouse/ClickHouse/pull/7171) ([Nikita
  Vasilev](https://github.com/nikvas0))
* Ajout des aggregate functions groupBitmapAnd, -Or, -Xor pour les colonnes bitmap. [#7109](https://github.com/ClickHouse/ClickHouse/pull/7109) ([Zhichang
  Yu](https://github.com/yuzhichang))
* Ajout des aggregate function combinators -OrNull et -OrDefault, qui renvoient des valeurs NULL
  ou par défaut lorsqu'il n'y a rien à agréger.
  [#7331](https://github.com/ClickHouse/ClickHouse/pull/7331)
  ([hcz](https://github.com/hczhcz))
* Introduction du format de données CustomSeparated, qui prend en charge des règles personnalisées d'échappement et
  de délimitation. [#7118](https://github.com/ClickHouse/ClickHouse/pull/7118)
  ([tavplubix](https://github.com/tavplubix))
* Prise en charge de Redis comme source de dictionnaire externe. [#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">
  #### Correction de bugs
</div>

* Correction d’un résultat de requête erroné lorsqu’elle comporte une clause `WHERE IN (SELECT ...)` et que `optimize_read_in_order` est
  utilisé. [#7371](https://github.com/ClickHouse/ClickHouse/pull/7371) ([Anton
  Popov](https://github.com/CurtizJ))
* Désactivation du plugin d’authentification MariaDB, qui dépend de fichiers extérieurs au projet.
  [#7140](https://github.com/ClickHouse/ClickHouse/pull/7140) ([Yuriy
  Baranov](https://github.com/yurriy))
* Correction de l’exception `Cannot convert column ... because it is constant but values of constants are different in source and result`, qui pouvait rarement se produire lorsque les fonctions `now()`, `today()`,
  `yesterday()`, `randConstant()` sont utilisées.
  [#7156](https://github.com/ClickHouse/ClickHouse/pull/7156) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
* Correction d’un problème où le délai d’expiration du keep alive HTTP était utilisé à la place de celui du keep alive TCP.
  [#7351](https://github.com/ClickHouse/ClickHouse/pull/7351) ([Vasily
  Nemkov](https://github.com/Enmk))
* Correction d’une erreur de segmentation dans groupBitmapOr (issue [#7109](https://github.com/ClickHouse/ClickHouse/issues/7109)).
  [#7289](https://github.com/ClickHouse/ClickHouse/pull/7289) ([Zhichang
  Yu](https://github.com/yuzhichang))
* Pour les vues matérialisées, le commit pour Kafka est effectué une fois toutes les données écrites.
  [#7175](https://github.com/ClickHouse/ClickHouse/pull/7175) ([Ivan](https://github.com/abyss7))
* Correction d’une valeur `duration_ms` erronée dans la table `system.part_log`. Elle était dix fois trop élevée.
  [#7172](https://github.com/ClickHouse/ClickHouse/pull/7172) ([Vladimir
  Chebotarev](https://github.com/excitoon))
* Correctif rapide pour résoudre un crash dans la table LIVE VIEW et réactiver tous les tests LIVE VIEW.
  [#7201](https://github.com/ClickHouse/ClickHouse/pull/7201)
  ([vzakaznikov](https://github.com/vzakaznikov))
* Sérialisation correcte des valeurs NULL dans les index min/max des parts MergeTree.
  [#7234](https://github.com/ClickHouse/ClickHouse/pull/7234) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Ne pas placer les colonnes virtuelles dans les métadonnées .sql lorsque la table est créée avec `CREATE TABLE AS`.
  [#7183](https://github.com/ClickHouse/ClickHouse/pull/7183) ([Ivan](https://github.com/abyss7))
* Correction d’une erreur de segmentation dans la requête `ATTACH PART`.
  [#7185](https://github.com/ClickHouse/ClickHouse/pull/7185)
  ([alesapin](https://github.com/alesapin))
* Correction d’un résultat erroné pour certaines requêtes provoqué par l’optimisation de sous-requêtes IN vides et de
  INNER/RIGHT JOIN vides. [#7284](https://github.com/ClickHouse/ClickHouse/pull/7284) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
* Correction d’une erreur AddressSanitizer dans la méthode getHeader() de LIVE VIEW.
  [#7271](https://github.com/ClickHouse/ClickHouse/pull/7271)
  ([vzakaznikov](https://github.com/vzakaznikov))

<div id="improvement">
  #### Amélioration
</div>

* Ajouter un message lorsqu'une attente `queue_wait_max_ms` se produit.
  [#7390](https://github.com/ClickHouse/ClickHouse/pull/7390) ([Azat
  Khuzhin](https://github.com/azat))
* Rendre le paramètre `s3_min_upload_part_size` configurable au niveau de la table.
  [#7059](https://github.com/ClickHouse/ClickHouse/pull/7059) ([Vladimir
  Chebotarev](https://github.com/excitoon))
* Vérifier TTL dans StorageFactory. [#7304](https://github.com/ClickHouse/ClickHouse/pull/7304)
  ([sundyli](https://github.com/sundy-li))
* Compacter les blocs de gauche dans partial merge join (optimisation).
  [#7122](https://github.com/ClickHouse/ClickHouse/pull/7122) ([Artem
  Zuikov](https://github.com/4ertus2))
* Ne pas autoriser les fonctions non déterministes dans les mutations des moteurs de table Replicated, car cela
  peut introduire des incohérences entre les répliques.
  [#7247](https://github.com/ClickHouse/ClickHouse/pull/7247) ([Alexander
  Kazakov](https://github.com/Akazz))
* Désactiver le memory tracker pendant la conversion de la stack trace d'une exception en chaîne. Cela peut éviter la perte
  des messages d'erreur de type `Memory limit exceeded` sur le serveur, qui provoquait l'exception `Attempt to read after eof` côté client. [#7264](https://github.com/ClickHouse/ClickHouse/pull/7264)
  ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Diverses améliorations du format. Résout
  [#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 ignore les valeurs du côté droit de l'opérateur IN qui ne peuvent pas être converties vers le
  type du côté gauche. Faire en sorte que cela fonctionne correctement pour les types composés — Array et Tuple.
  [#7283](https://github.com/ClickHouse/ClickHouse/pull/7283) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Prise en charge des inégalités manquantes pour ASOF JOIN. Il est possible d'utiliser la variante less-or-equal ainsi que les variantes strictes
  greater et less pour la colonne ASOF dans la syntaxe ON.
  [#7282](https://github.com/ClickHouse/ClickHouse/pull/7282) ([Artem
  Zuikov](https://github.com/4ertus2))
* Optimiser partial merge join. [#7070](https://github.com/ClickHouse/ClickHouse/pull/7070)
  ([Artem Zuikov](https://github.com/4ertus2))
* Ne pas utiliser plus de 98K de mémoire dans les fonctions uniqCombined.
  [#7236](https://github.com/ClickHouse/ClickHouse/pull/7236),
  [#7270](https://github.com/ClickHouse/ClickHouse/pull/7270) ([Azat
  Khuzhin](https://github.com/azat))
* Décharger sur disque les parts de la table de jointure de droite dans PartialMergeJoin (s'il n'y a pas assez de
  mémoire). Recharger les données si nécessaire. [#7186](https://github.com/ClickHouse/ClickHouse/pull/7186)
  ([Artem Zuikov](https://github.com/4ertus2))

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Accélérer joinGet avec des arguments constants en évitant de dupliquer les données.
  [#7359](https://github.com/ClickHouse/ClickHouse/pull/7359) ([Amos
  Bird](https://github.com/amosbird))
* Retourner immédiatement si la sous-requête est vide.
  [#7007](https://github.com/ClickHouse/ClickHouse/pull/7007) ([小路](https://github.com/nicelulu))
* Optimiser l'analyse syntaxique des expressions SQL dans Values.
  [#6781](https://github.com/ClickHouse/ClickHouse/pull/6781)
  ([tavplubix](https://github.com/tavplubix))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Désactiver certaines bibliothèques tierces pour la compilation croisée pour Mac OS.
  [#7101](https://github.com/ClickHouse/ClickHouse/pull/7101) ([Ivan](https://github.com/abyss7))
* Ajouter l'édition de liens manquante avec PocoXML pour clickhouse\_common\_io.
  [#7200](https://github.com/ClickHouse/ClickHouse/pull/7200) ([Azat
  Khuzhin](https://github.com/azat))
* Accepter plusieurs arguments de filtre de test dans clickhouse-test.
  [#7226](https://github.com/ClickHouse/ClickHouse/pull/7226) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Activer musl et jemalloc pour ARM. [#7300](https://github.com/ClickHouse/ClickHouse/pull/7300)
  ([Amos Bird](https://github.com/amosbird))
* Ajout du paramètre `--client-option` à `clickhouse-test` pour transmettre des paramètres supplémentaires au client.
  [#7277](https://github.com/ClickHouse/ClickHouse/pull/7277) ([Nikolai
  Kochetov](https://github.com/KochetovNicolai))
* Préserver les configurations existantes lors de la mise à niveau du paquet rpm.
  [#7103](https://github.com/ClickHouse/ClickHouse/pull/7103)
  ([filimonov](https://github.com/filimonov))
* Corriger les erreurs détectées par PVS. [#7153](https://github.com/ClickHouse/ClickHouse/pull/7153) ([Artem
  Zuikov](https://github.com/4ertus2))
* Corriger la compilation pour Darwin. [#7149](https://github.com/ClickHouse/ClickHouse/pull/7149)
  ([Ivan](https://github.com/abyss7))
* Compatibilité avec glibc 2.29. [#7142](https://github.com/ClickHouse/ClickHouse/pull/7142) ([Amos
  Bird](https://github.com/amosbird))
* S'assurer que dh\_clean ne touche pas à d'éventuels fichiers source.
  [#7205](https://github.com/ClickHouse/ClickHouse/pull/7205) ([Amos
  Bird](https://github.com/amosbird))
* Tenter d'éviter un conflit lors de la mise à jour depuis le rpm altinity : son fichier de configuration est empaqueté séparément
  dans clickhouse-server-common. [#7073](https://github.com/ClickHouse/ClickHouse/pull/7073)
  ([filimonov](https://github.com/filimonov))
* Optimiser certains fichiers d'en-tête pour accélérer les recompilations.
  [#7212](https://github.com/ClickHouse/ClickHouse/pull/7212),
  [#7231](https://github.com/ClickHouse/ClickHouse/pull/7231) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Ajouter des tests de performance pour Date et DateTime. [#7332](https://github.com/ClickHouse/ClickHouse/pull/7332) ([Vasily
  Nemkov](https://github.com/Enmk))
* Corriger certains tests qui contenaient des mutations non déterministes.
  [#7132](https://github.com/ClickHouse/ClickHouse/pull/7132) ([Alexander
  Kazakov](https://github.com/Akazz))
* Ajouter un build avec MemorySanitizer à la CI. [#7066](https://github.com/ClickHouse/ClickHouse/pull/7066)
  ([Alexander Kuzmenkov](https://github.com/akuzm))
* Éviter l'utilisation de valeurs non initialisées dans MetricsTransmitter.
  [#7158](https://github.com/ClickHouse/ClickHouse/pull/7158) ([Azat
  Khuzhin](https://github.com/azat))
* Corriger certains problèmes dans Fields détectés par 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))
* Corriger un comportement indéfini dans murmurhash32. [#7388](https://github.com/ClickHouse/ClickHouse/pull/7388) ([Amos
  Bird](https://github.com/amosbird))
* Correction d’un comportement indéfini dans StoragesInfoStream. [#7384](https://github.com/ClickHouse/ClickHouse/pull/7384)
  ([tavplubix](https://github.com/tavplubix))
* Correction de l’évaluation des expressions constantes pour les moteurs de base de données externes (MySQL, ODBC, JDBC). Dans les versions
  précédentes, cela ne fonctionnait pas avec plusieurs expressions constantes et ne fonctionnait pas du tout pour Date,
  DateTime et UUID. Cela corrige [#7245](https://github.com/ClickHouse/ClickHouse/issues/7245)
  [#7252](https://github.com/ClickHouse/ClickHouse/pull/7252)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une erreur de data race détectée par ThreadSanitizer dans la LIVE VIEW lors de l’accès à la variable no\_users\_thread.
  [#7353](https://github.com/ClickHouse/ClickHouse/pull/7353)
  ([vzakaznikov](https://github.com/vzakaznikov))
* Suppression des symboles malloc de libcommon
  [#7134](https://github.com/ClickHouse/ClickHouse/pull/7134),
  [#7065](https://github.com/ClickHouse/ClickHouse/pull/7065) ([Amos
  Bird](https://github.com/amosbird))
* Ajout du flag global ENABLE\_LIBRARIES pour désactiver toutes les bibliothèques.
  [#7063](https://github.com/ClickHouse/ClickHouse/pull/7063)
  ([proller](https://github.com/proller))

<div id="code-cleanup">
  #### Nettoyage du code
</div>

* Généralisation du dépôt de configuration en préparation du DDL pour Dictionaries. [#7155](https://github.com/ClickHouse/ClickHouse/pull/7155)
  ([alesapin](https://github.com/alesapin))
* Parseur pour le DDL des dictionnaires, sans sémantique.
  [#7209](https://github.com/ClickHouse/ClickHouse/pull/7209)
  ([alesapin](https://github.com/alesapin))
* Scinder ParserCreateQuery en plusieurs parseurs plus petits.
  [#7253](https://github.com/ClickHouse/ClickHouse/pull/7253)
  ([alesapin](https://github.com/alesapin))
* Légère refactorisation et renommage autour des dictionnaires externes.
  [#7111](https://github.com/ClickHouse/ClickHouse/pull/7111)
  ([alesapin](https://github.com/alesapin))
* Refactorisation d'une partie du code en préparation du contrôle d'accès basé sur les rôles. [#7235](https://github.com/ClickHouse/ClickHouse/pull/7235) ([Vitaly
  Baranov](https://github.com/vitlibar))
* Quelques améliorations dans le code de DatabaseOrdinary.
  [#7086](https://github.com/ClickHouse/ClickHouse/pull/7086) ([Nikita
  Vasilev](https://github.com/nikvas0))
* Ne pas utiliser d'itérateurs dans les méthodes find() et emplace() des tables de hachage.
  [#7026](https://github.com/ClickHouse/ClickHouse/pull/7026) ([Alexander
  Kuzmenkov](https://github.com/akuzm))
* Correction de getMultipleValuesFromConfig lorsque le paramètre root n'est pas vide. [#7374](https://github.com/ClickHouse/ClickHouse/pull/7374)
  ([Mikhail Korotov](https://github.com/millb))
* Suppression de quelques duplications de code (TemporaryFile et TemporaryFileStream)
  [#7166](https://github.com/ClickHouse/ClickHouse/pull/7166) ([Artem
  Zuikov](https://github.com/4ertus2))
* Légère amélioration de la lisibilité du code (`MergeTreeData::getActiveContainingPart`).
  [#7361](https://github.com/ClickHouse/ClickHouse/pull/7361) ([Vladimir
  Chebotarev](https://github.com/excitoon))
* Attendre toutes les tâches planifiées utilisant des objets locaux si `ThreadPool::schedule(...)` lève
  une exception. Renommer `ThreadPool::schedule(...)` en `ThreadPool::scheduleOrThrowOnError(...)` et
  corriger les commentaires pour indiquer clairement qu'elle peut lever une exception.
  [#7350](https://github.com/ClickHouse/ClickHouse/pull/7350)
  ([tavplubix](https://github.com/tavplubix))

<div id="clickhouse-release-19-15">
  ## Version de ClickHouse 19.15
</div>

<div id="clickhouse-release-19-15-4-10-2019-10-31">
  ### Version de ClickHouse 19.15.4.10, 2019-10-31
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Ajout de la prise en charge de SQL\_TINYINT et SQL\_BIGINT, et correction de la gestion du type de source de données SQL\_FLOAT dans ODBC Bridge.
  [#7491](https://github.com/ClickHouse/ClickHouse/pull/7491) ([Denis Glazachev](https://github.com/traceon))
* Possibilité d'avoir certaines parts sur le disque ou le volume de destination dans MOVE PARTITION.
  [#7434](https://github.com/ClickHouse/ClickHouse/pull/7434) ([Vladimir Chebotarev](https://github.com/excitoon))
* Correction des valeurs NULL dans les colonnes Nullable via ODBC-bridge.
  [#7402](https://github.com/ClickHouse/ClickHouse/pull/7402) ([Vasily Nemkov](https://github.com/Enmk))
* Correction de l'INSERT sur un nœud Distributed non local avec des colonnes MATERIALIZED.
  [#7377](https://github.com/ClickHouse/ClickHouse/pull/7377) ([Azat Khuzhin](https://github.com/azat))
* Correction de la fonction getMultipleValuesFromConfig.
  [#7374](https://github.com/ClickHouse/ClickHouse/pull/7374) ([Mikhail Korotov](https://github.com/millb))
* Correction d'un problème où le délai d’expiration du keep alive HTTP était utilisé à la place du délai d’expiration du keep alive TCP.
  [#7351](https://github.com/ClickHouse/ClickHouse/pull/7351) ([Vasily Nemkov](https://github.com/Enmk))
* Attente de la fin de tous les jobs en cas d'exception (corrige de rares segfaults).
  [#7350](https://github.com/ClickHouse/ClickHouse/pull/7350) ([tavplubix](https://github.com/tavplubix))
* Ne pas pousser vers les MV lors d'un insert dans une Kafka table.
  [#7265](https://github.com/ClickHouse/ClickHouse/pull/7265) ([Ivan](https://github.com/abyss7))
* Désactivation du memory tracker pour la pile d'exceptions.
  [#7264](https://github.com/ClickHouse/ClickHouse/pull/7264) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction d'un code incorrect dans la transformation de la query pour une base de données externe.
  [#7252](https://github.com/ClickHouse/ClickHouse/pull/7252) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Évite l'utilisation de values non initialisées dans MetricsTransmitter.
  [#7158](https://github.com/ClickHouse/ClickHouse/pull/7158) ([Azat Khuzhin](https://github.com/azat))
* Ajout d'un exemple de config avec des macros pour les tests ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-15-3-6-2019-10-09">
  ### Version de ClickHouse 19.15.3.6, 2019-10-09
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction de bad\_variant dans un dictionnaire haché.
  ([alesapin](https://github.com/alesapin))
* Correction d’un bug entraînant une erreur de segmentation dans la requête ATTACH PART.
  ([alesapin](https://github.com/alesapin))
* Correction du calcul du temps dans `MergeTreeData`.
  ([Vladimir Chebotarev](https://github.com/excitoon))
* Commit explicite dans Kafka une fois l’écriture finalisée.
  [#7175](https://github.com/ClickHouse/ClickHouse/pull/7175) ([Ivan](https://github.com/abyss7))
* Sérialisation correcte des valeurs NULL dans les index min/max des parties 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">
  ### Version de ClickHouse 19.15.2.2, 2019-10-01
</div>

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Stockage hiérarchisé : prise en charge de l’utilisation de plusieurs volumes de stockage pour les tables utilisant le moteur MergeTree. Il est possible de stocker les données récentes sur SSD et de déplacer automatiquement les anciennes données vers HDD. ([exemple](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))
* Ajout de la fonction de table `input` pour lire les données entrantes dans une requête `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))
* Ajout d’un dictionary layout `sparse_hashed`, fonctionnellement équivalent au layout `hashed`, mais plus économe en mémoire. Il utilise environ deux fois moins de mémoire, au prix d’une récupération des valeurs plus lente. [#6894](https://github.com/ClickHouse/ClickHouse/pull/6894) ([Azat Khuzhin](https://github.com/azat))
* Mise en œuvre de la possibilité de définir une liste d’utilisateurs pour l’accès aux dictionnaires. Utilisable uniquement par la base de données actuellement connectée. [#6907](https://github.com/ClickHouse/ClickHouse/pull/6907) ([Guillaume Tassery](https://github.com/YiuRULE))
* Ajout de l’option `LIMIT` à la requête `SHOW`. [#6944](https://github.com/ClickHouse/ClickHouse/pull/6944) ([Philipp Malkovsky](https://github.com/malkfilipp))
* Ajout de la fonction `bitmapSubsetLimit(bitmap, range_start, limit)`, qui renvoie un sous-ensemble des `limit` plus petites valeurs de l’ensemble qui ne sont pas inférieures à `range_start`. [#6957](https://github.com/ClickHouse/ClickHouse/pull/6957) ([Zhichang Yu](https://github.com/yuzhichang))
* Ajout des fonctions `bitmapMin` et `bitmapMax`. [#6970](https://github.com/ClickHouse/ClickHouse/pull/6970) ([Zhichang Yu](https://github.com/yuzhichang))
* Ajout de la fonction `repeat` en lien avec [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">
  #### Fonctionnalité expérimentale
</div>

* Implémente une variante de Merge Join (en mémoire) qui ne modifie pas le pipeline actuel. Le résultat est partiellement trié selon la clé de jointure. Définissez `partial_merge_join = 1` pour utiliser cette fonctionnalité. Merge Join est encore en développement. [#6940](https://github.com/ClickHouse/ClickHouse/pull/6940) ([Artem Zuikov](https://github.com/4ertus2))
* Ajoute le moteur `S3` et la fonction de table. Cette fonctionnalité est encore en développement (pas encore de prise en charge de l’authentification). [#5596](https://github.com/ClickHouse/ClickHouse/pull/5596) ([Vladimir Chebotarev](https://github.com/excitoon))

<div id="improvement">
  #### Amélioration
</div>

* Chaque message lu depuis Kafka est inséré de manière atomique. Cela résout presque tous les problèmes connus du moteur Kafka. [#6950](https://github.com/ClickHouse/ClickHouse/pull/6950) ([Ivan](https://github.com/abyss7))
* Améliorations du basculement des requêtes distribuées. Le temps de reprise est réduit, et il est désormais configurable et visible dans `system.clusters`. [#6399](https://github.com/ClickHouse/ClickHouse/pull/6399) ([Vasily Nemkov](https://github.com/Enmk))
* Prise en charge directe des valeurs numériques pour les enums dans la section `IN`. #6766 [#6941](https://github.com/ClickHouse/ClickHouse/pull/6941) ([dimarub2000](https://github.com/dimarub2000))
* Prise en charge des redirections sur le moteur de stockage URL (optionnelle, désactivée par défaut). [#6914](https://github.com/ClickHouse/ClickHouse/pull/6914) ([maqroll](https://github.com/maqroll))
* Ajout d'un message d'information lorsqu'un client d'une version plus ancienne se connecte à un serveur. [#6893](https://github.com/ClickHouse/ClickHouse/pull/6893) ([Philipp Malkovsky](https://github.com/malkfilipp))
* Suppression de la limite maximale du délai d'attente de backoff pour l'envoi de données dans les tables Distributed [#6895](https://github.com/ClickHouse/ClickHouse/pull/6895) ([Azat Khuzhin](https://github.com/azat))
* Ajout de la possibilité d'envoyer des événements de profil (compteurs) avec des valeurs cumulées vers Graphite. Cela peut être activé via `<events_cumulative>` dans le `config.xml` du serveur. [#6969](https://github.com/ClickHouse/ClickHouse/pull/6969) ([Azat Khuzhin](https://github.com/azat))
* Ajout de la conversion automatique du type `T` en `LowCardinality(T)` lors de l'insertion de données dans une colonne de type `LowCardinality(T)` au format Native via HTTP. [#6891](https://github.com/ClickHouse/ClickHouse/pull/6891) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Ajout de la possibilité d'utiliser la fonction `hex` sans recourir à `reinterpretAsString` pour `Float32`, `Float64`. [#7024](https://github.com/ClickHouse/ClickHouse/pull/7024) ([Mikhail Korotov](https://github.com/millb))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Ajout de gdb-index au binaire clickhouse avec les informations de débogage. Cela accélérera le démarrage de `gdb`. [#6947](https://github.com/ClickHouse/ClickHouse/pull/6947) ([alesapin](https://github.com/alesapin))
* Accélération du packaging deb grâce à une version patchée de dpkg-deb qui utilise `pigz`. [#6960](https://github.com/ClickHouse/ClickHouse/pull/6960) ([alesapin](https://github.com/alesapin))
* Définir `enable_fuzzing = 1` pour activer l’instrumentation libfuzzer sur l’ensemble du code du projet. [#7042](https://github.com/ClickHouse/ClickHouse/pull/7042) ([kyprizel](https://github.com/kyprizel))
* Ajout d’un smoke test pour le split build dans la CI. [#7061](https://github.com/ClickHouse/ClickHouse/pull/7061) ([alesapin](https://github.com/alesapin))
* Ajout d’un build avec MemorySanitizer dans la CI. [#7066](https://github.com/ClickHouse/ClickHouse/pull/7066) ([Alexander Kuzmenkov](https://github.com/akuzm))
* Remplacement de `libsparsehash` par `sparsehash-c11` [#6965](https://github.com/ClickHouse/ClickHouse/pull/6965) ([Azat Khuzhin](https://github.com/azat))

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’une baisse de performances de l’analyse des index sur des clés complexes dans de grandes tables. Cela corrige #6924. [#7075](https://github.com/ClickHouse/ClickHouse/pull/7075) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une erreur logique provoquant des segfaults lors d’une sélection sur un topic Kafka vide. [#6909](https://github.com/ClickHouse/ClickHouse/pull/6909) ([Ivan](https://github.com/abyss7))
* Correction d’une fermeture trop précoce de la connexion MySQL dans `MySQLBlockInputStream.cpp`. [#6882](https://github.com/ClickHouse/ClickHouse/pull/6882) ([Clément Rodriguez](https://github.com/clemrodriguez))
* Rétablissement de la prise en charge de très anciens noyaux Linux (correction de [#6841](https://github.com/ClickHouse/ClickHouse/issues/6841)) [#6853](https://github.com/ClickHouse/ClickHouse/pull/6853) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une possible perte de données dans une requête insert select en cas de bloc vide dans le flux d’entrée. #6834 #6862 [#6911](https://github.com/ClickHouse/ClickHouse/pull/6911) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction de la fonction `АrrayEnumerateUniqRanked` lorsque des tableaux vides sont passés dans les params [#6928](https://github.com/ClickHouse/ClickHouse/pull/6928) ([proller](https://github.com/proller))
* Correction des requêtes complexes avec ARRAY JOIN et des sous-requêtes globales. [#6934](https://github.com/ClickHouse/ClickHouse/pull/6934) ([Ivan](https://github.com/abyss7))
* Correction de l’erreur `Unknown identifier` dans ORDER BY et GROUP BY avec plusieurs JOIN [#7022](https://github.com/ClickHouse/ClickHouse/pull/7022) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’un avertissement `MSan` lors de l’exécution d’une fonction avec un argument `LowCardinality`. [#7062](https://github.com/ClickHouse/ClickHouse/pull/7062) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="backward-incompatible-change-2">
  #### Changement non rétrocompatible
</div>

* Le format de sérialisation des états de fonctions d'agrégation bitmap\* a été modifié afin d'améliorer les performances. Les états sérialisés de bitmap\* des versions précédentes ne peuvent pas être lus. [#6908](https://github.com/ClickHouse/ClickHouse/pull/6908) ([Zhichang Yu](https://github.com/yuzhichang))

<div id="clickhouse-release-19-14">
  ## Version de ClickHouse 19.14
</div>

<div id="clickhouse-release-19-14-7-15-2019-10-02">
  ### Version de ClickHouse 19.14.7.15, 2019-10-02
</div>

<div id="bug-fix-6">
  #### Correction de bug
</div>

* Cette version contient également toutes les corrections de bugs de la version 19.11.12.69.
* Correction de la compatibilité des requêtes distribuées entre la version 19.14 et les versions antérieures. Cela corrige [#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">
  ### Version de ClickHouse 19.14.6.12, 2019-09-19
</div>

<div id="bug-fix-6">
  #### Correction de bug
</div>

* Correction pour la fonction `АrrayEnumerateUniqRanked` lorsque les params contiennent des tableaux vides. [#6928](https://github.com/ClickHouse/ClickHouse/pull/6928) ([proller](https://github.com/proller))
* Correction du nom de la sous-requête dans les requêtes utilisant `ARRAY JOIN` et `GLOBAL IN subquery` avec alias. L'alias de la sous-requête est utilisé comme nom de la table externe lorsqu'il est spécifié. [#6934](https://github.com/ClickHouse/ClickHouse/pull/6934) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Correction du test [instable](https://clickhouse-test-reports.s3.yandex.net/6944/aab95fd5175a513413c7395a73a82044bdafb906/functional_stateless_tests_\(debug\).html) `00715_fetch_merged_or_mutated_part_zookeeper` par sa réécriture en script shell, car il doit attendre l'application des mutations. [#6977](https://github.com/ClickHouse/ClickHouse/pull/6977) ([Alexander Kazakov](https://github.com/Akazz))
* Correction d'une défaillance UBSan et MemSan dans la fonction `groupUniqArray` avec un argument de tableau vide. Elle était due à l'insertion d'un `PaddedPODArray` vide dans la cellule zéro de la table de hachage, car le constructeur de la valeur de la cellule zéro n'était pas appelé. [#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">
  ### Version de ClickHouse 19.14.3.3, 2019-09-10
</div>

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Modificateur `WITH FILL` pour `ORDER BY`. (suite de [#5069](https://github.com/ClickHouse/ClickHouse/issues/5069)) [#6610](https://github.com/ClickHouse/ClickHouse/pull/6610) ([Anton Popov](https://github.com/CurtizJ))
* Modificateur `WITH TIES` pour `LIMIT`. (suite de [#5069](https://github.com/ClickHouse/ClickHouse/issues/5069)) [#6610](https://github.com/ClickHouse/ClickHouse/pull/6610) ([Anton Popov](https://github.com/CurtizJ))
* Interprète le littéral `NULL` non entre guillemets comme NULL (si le paramètre `format_csv_unquoted_null_literal_as_null=1` est activé). Initialise les champs NULL avec leurs valeurs par défaut si le type de données du champ n'est pas Nullable (si le paramètre `input_format_null_as_default=1` est activé). [#5990](https://github.com/ClickHouse/ClickHouse/issues/5990) [#6055](https://github.com/ClickHouse/ClickHouse/pull/6055) ([tavplubix](https://github.com/tavplubix))
* Prise en charge des caractères génériques dans les chemins des fonctions de table `file` et `hdfs`. Si le chemin contient des caractères génériques, la table sera en mode readonly. Exemple d'utilisation : `select * from hdfs('hdfs://hdfs1:9000/some_dir/another_dir/*/file{0..9}{0..9}')` et `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))
* Nouvelle table `system.metric_log`, qui stocke les valeurs de `system.events` et `system.metrics` à l'intervalle de temps spécifié. [#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))
* Permet d'écrire les logs texte de ClickHouse dans la table `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))
* Affiche les symboles privés dans les stack traces (via l'analyse des tables de symboles des fichiers ELF). Ajout d'informations sur le fichier et le numéro de ligne dans les stack traces si les informations de débogage sont présentes. Accélère la recherche des noms de symboles grâce à l'indexation des symboles présents dans le programme. Ajout de nouvelles fonctions SQL d'introspection : `demangle` et `addressToLine`. La fonction `symbolizeAddress` a été renommée en `addressToSymbol` pour plus de cohérence. La fonction `addressToSymbol` renverra un nom manglé pour des raisons de performance et vous devrez appliquer `demangle`. Ajout du paramètre `allow_introspection_functions`, désactivé par défaut. [#6201](https://github.com/ClickHouse/ClickHouse/pull/6201) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Fonction de table `values` (son nom est insensible à la casse). Elle permet de lire depuis la liste `VALUES` proposée dans [#5984](https://github.com/ClickHouse/ClickHouse/issues/5984). Exemple : `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))
* Ajout de la possibilité de modifier les paramètres de stockage. Syntaxe : `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))
* Prise en charge de la suppression des parties détachées. Syntaxe : `ALTER TABLE <table_name> DROP DETACHED PART '<part_id>'`. [#6158](https://github.com/ClickHouse/ClickHouse/pull/6158) ([tavplubix](https://github.com/tavplubix))
* Contraintes de table. Permet d’ajouter une contrainte à la définition de la table, qui sera vérifiée lors de l’insertion. [#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))
* Prise en charge des vues matérialisées en cascade. [#6324](https://github.com/ClickHouse/ClickHouse/pull/6324) ([Amos Bird](https://github.com/amosbird))
* Activation par défaut du profileur de requêtes afin d’échantillonner chaque thread d’exécution de requête une fois par seconde. [#6283](https://github.com/ClickHouse/ClickHouse/pull/6283) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Format d’entrée `ORC`. [#6454](https://github.com/ClickHouse/ClickHouse/pull/6454) [#6703](https://github.com/ClickHouse/ClickHouse/pull/6703) ([akonyaev90](https://github.com/akonyaev90))
* Ajout de deux nouvelles fonctions : `sigmoid` et `tanh` (utiles pour les applications de machine learning). [#6254](https://github.com/ClickHouse/ClickHouse/pull/6254) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Fonctions `hasToken(haystack, token)`, `hasTokenCaseInsensitive(haystack, token)` pour vérifier si le token donné est présent dans la chaîne. Un token est une sous-chaîne de longueur maximale comprise entre deux caractères ASCII non alphanumériques (ou les limites de la chaîne). Le token doit être une chaîne constante. Pris en charge par la spécialisation d’index tokenbf\_v1. [#6596](https://github.com/ClickHouse/ClickHouse/pull/6596), [#6662](https://github.com/ClickHouse/ClickHouse/pull/6662) ([Vasily Nemkov](https://github.com/Enmk))
* Nouvelle fonction `neighbor(value, offset[, default_value])`. Permet d’accéder à la valeur précédente/suivante au sein d’une colonne dans un bloc de données. [#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)
* Création d’une fonction `currentUser()`, qui renvoie l’identifiant de l’utilisateur authentifié. Ajout de l’alias `user()` pour la compatibilité avec MySQL. [#6470](https://github.com/ClickHouse/ClickHouse/pull/6470) ([Alex Krash](https://github.com/alex-krash))
* Nouvelles fonctions d’agrégation `quantilesExactInclusive` et `quantilesExactExclusive`, proposées dans [#5885](https://github.com/ClickHouse/ClickHouse/issues/5885). [#6477](https://github.com/ClickHouse/ClickHouse/pull/6477) ([dimarub2000](https://github.com/dimarub2000))
* Fonction `bitmapRange(bitmap, range_begin, range_end)` qui renvoie un nouvel ensemble avec la plage spécifiée (sans inclure `range_end`). [#6314](https://github.com/ClickHouse/ClickHouse/pull/6314) ([Zhichang Yu](https://github.com/yuzhichang))
* Fonction `geohashesInBox(longitude_min, latitude_min, longitude_max, latitude_max, precision)` qui crée un tableau de chaînes geohash de longueur precision couvrant la zone indiquée. [#6127](https://github.com/ClickHouse/ClickHouse/pull/6127) ([Vasily Nemkov](https://github.com/Enmk))
* Ajout de la prise en charge des requêtes INSERT avec les tables `Kafka`. [#6012](https://github.com/ClickHouse/ClickHouse/pull/6012) ([Ivan](https://github.com/abyss7))
* Ajout de la prise en charge des colonnes virtuelles `_partition` et `_timestamp` pour le moteur Kafka. [#6400](https://github.com/ClickHouse/ClickHouse/pull/6400) ([Ivan](https://github.com/abyss7))
* Possibilité de supprimer les données sensibles de `query_log`, des journaux du serveur et de la liste des processus à l’aide de règles basées sur des expressions régulières. [#5710](https://github.com/ClickHouse/ClickHouse/pull/5710) ([filimonov](https://github.com/filimonov))

<div id="experimental-feature">
  #### Fonctionnalité expérimentale
</div>

* Format de données d’entrée et de sortie `Template`. Il permet de définir une chaîne de format personnalisée en entrée et en sortie. [#4354](https://github.com/ClickHouse/ClickHouse/issues/4354) [#6727](https://github.com/ClickHouse/ClickHouse/pull/6727) ([tavplubix](https://github.com/tavplubix))
* Implémentation des tables `LIVE VIEW`, initialement proposées dans [#2898](https://github.com/ClickHouse/ClickHouse/pull/2898), préparées dans [#3925](https://github.com/ClickHouse/ClickHouse/issues/3925), puis mises à jour dans [#5541](https://github.com/ClickHouse/ClickHouse/issues/5541). Voir [#5541](https://github.com/ClickHouse/ClickHouse/issues/5541) pour une description détaillée. [#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)) Notez que la fonctionnalité `LIVE VIEW` pourra être supprimée dans les prochaines versions.

<div id="bug-fix-6">
  #### Correction de bug
</div>

* Cette version contient également tous les correctifs de bugs des versions 19.13 et 19.11.
* Correction d’un segfault lorsque la table comporte des index de saut et qu’une fusion verticale se produit. [#6723](https://github.com/ClickHouse/ClickHouse/pull/6723) ([alesapin](https://github.com/alesapin))
* Correction du TTL par colonne avec des valeurs par défaut non triviales. Auparavant, en cas de fusion TTL forcée avec la requête `OPTIMIZE ... FINAL`, les valeurs expirées étaient remplacées par les valeurs par défaut du type au lieu des valeurs par défaut de colonne définies par l’utilisateur. [#6796](https://github.com/ClickHouse/ClickHouse/pull/6796) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’un problème de duplication des messages Kafka lors d’un redémarrage normal du serveur. [#6597](https://github.com/ClickHouse/ClickHouse/pull/6597) ([Ivan](https://github.com/abyss7))
* Correction d’une boucle infinie lors de la lecture des messages Kafka. Ne met plus du tout en pause/ne reprend plus le consumer au niveau de la subscription, sinon il peut rester en pause indéfiniment dans certains scénarios. [#6354](https://github.com/ClickHouse/ClickHouse/pull/6354) ([Ivan](https://github.com/abyss7))
* Correction de l’exception `Key expression contains comparison between inconvertible types` dans la fonction `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))
* Correction d’un segfault avec `optimize_skip_unused_shards` activé et une clé de sharding manquante. [#6384](https://github.com/ClickHouse/ClickHouse/pull/6384) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’un code erroné dans les mutations pouvant entraîner une corruption mémoire. Correction d’un segfault lors de la lecture à l’adresse `0x14c0`, qui pouvait se produire à cause de `DROP TABLE` et `SELECT` concurrents sur `system.parts` ou `system.parts_columns`. Correction d’une race condition lors de la préparation des requêtes de mutation. Correction d’un interblocage causé par `OPTIMIZE` sur des tables Replicated et des opérations de modification concurrentes comme des ALTER. [#6514](https://github.com/ClickHouse/ClickHouse/pull/6514) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Suppression du logging verbeux superflu dans l’interface MySQL [#6389](https://github.com/ClickHouse/ClickHouse/pull/6389) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Rétablissement de la prise en charge de l’analyse des paramètres booléens à partir de 'true' et 'false' dans le fichier de configuration. [#6278](https://github.com/ClickHouse/ClickHouse/pull/6278) ([alesapin](https://github.com/alesapin))
* Correction d’un plantage dans les fonctions `quantile` et `median` sur `Nullable(Decimal128)`. [#6378](https://github.com/ClickHouse/ClickHouse/pull/6378) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’un résultat potentiellement incomplet renvoyé par une requête `SELECT` avec une condition `WHERE` sur une clé primaire contenant une conversion vers le type Float. Cela était dû à une vérification incorrecte de la monotonie dans la fonction `toFloat`. [#6248](https://github.com/ClickHouse/ClickHouse/issues/6248) [#6374](https://github.com/ClickHouse/ClickHouse/pull/6374) ([dimarub2000](https://github.com/dimarub2000))
* Vérification du paramètre `max_expanded_ast_elements` pour les mutations. Suppression des mutations après `TRUNCATE TABLE`. [#6205](https://github.com/ClickHouse/ClickHouse/pull/6205) ([Winter Zhang](https://github.com/zhang2014))
* Correction des résultats de JOIN pour les colonnes de clé lorsqu’elles sont utilisées avec `join_use_nulls`. Utilise des NULL au lieu des valeurs par défaut des colonnes. [#6249](https://github.com/ClickHouse/ClickHouse/pull/6249) ([Artem Zuikov](https://github.com/4ertus2))
* Correction des index de saut avec fusion verticale et alter. Correction de l’exception `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))
* Corrige un crash rare dans `ALTER MODIFY COLUMN` et lors d’une fusion verticale lorsqu’une des parts fusionnées/modifiées est vide (0 ligne) [#6746](https://github.com/ClickHouse/ClickHouse/issues/6746) [#6780](https://github.com/ClickHouse/ClickHouse/pull/6780) ([alesapin](https://github.com/alesapin))
* Corrige un bug dans la conversion des types `LowCardinality` dans `AggregateFunctionFactory`. Cela corrige [#6257](https://github.com/ClickHouse/ClickHouse/issues/6257). [#6281](https://github.com/ClickHouse/ClickHouse/pull/6281) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige un comportement incorrect et de possibles segfaults dans les fonctions agrégées `topK` et `topKWeighted`. [#6404](https://github.com/ClickHouse/ClickHouse/pull/6404) ([Anton Popov](https://github.com/CurtizJ))
* Corrige du code non sûr autour de la fonction `getIdentifier`. [#6401](https://github.com/ClickHouse/ClickHouse/issues/6401) [#6409](https://github.com/ClickHouse/ClickHouse/pull/6409) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un bug dans le MySQL wire protocol (utilisé lors de la connexion à ClickHouse depuis un client MySQL). Causé par un heap buffer overflow dans `PacketPayloadWriteBuffer`. [#6212](https://github.com/ClickHouse/ClickHouse/pull/6212) ([Yuriy Baranov](https://github.com/yurriy))
* Corrige une fuite mémoire dans la fonction `bitmapSubsetInRange`. [#6819](https://github.com/ClickHouse/ClickHouse/pull/6819) ([Zhichang Yu](https://github.com/yuzhichang))
* Corrige un bug rare lorsqu’une mutation est exécutée après un changement de granularité. [#6816](https://github.com/ClickHouse/ClickHouse/pull/6816) ([alesapin](https://github.com/alesapin))
* Autorise par défaut les messages protobuf avec tous les champs. [#6132](https://github.com/ClickHouse/ClickHouse/pull/6132) ([Vitaly Baranov](https://github.com/vitlibar))
* Corrige un bug dans la fonction `nullIf` lorsqu’un argument `NULL` est passé en second argument. [#6446](https://github.com/ClickHouse/ClickHouse/pull/6446) ([Guillaume Tassery](https://github.com/YiuRULE))
* Corrige un bug rare d’allocation/désallocation mémoire incorrecte dans les dictionnaires de cache à clé complexe avec des champs de type chaîne, ce qui entraîne une consommation mémoire infinie (semblable à une fuite mémoire). Le bug se reproduit lorsque la taille de la chaîne est une puissance de deux à partir de huit (8, 16, 32, etc.). [#6447](https://github.com/ClickHouse/ClickHouse/pull/6447) ([alesapin](https://github.com/alesapin))
* Corrige l’encodage Gorilla sur de petites séquences, ce qui provoquait l’exception `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))
* Autorise l’utilisation de types non `Nullable` dans les JOINs avec `join_use_nulls` activé. [#6705](https://github.com/ClickHouse/ClickHouse/pull/6705) ([Artem Zuikov](https://github.com/4ertus2))
* Désactive les substitutions `Poco::AbstractConfiguration` dans les requêtes de `clickhouse-client`. [#6706](https://github.com/ClickHouse/ClickHouse/pull/6706) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Évite un interblocage dans `REPLACE PARTITION`. [#6677](https://github.com/ClickHouse/ClickHouse/pull/6677) ([alexey-milovidov](https://github.com/alexey-milovidov))
* L’utilisation de `arrayReduce` avec des arguments constants peut entraîner un segfault. [#6242](https://github.com/ClickHouse/ClickHouse/issues/6242) [#6326](https://github.com/ClickHouse/ClickHouse/pull/6326) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige les parts incohérentes pouvant apparaître si une réplique a été restaurée après `DROP PARTITION`. [#6522](https://github.com/ClickHouse/ClickHouse/issues/6522) [#6523](https://github.com/ClickHouse/ClickHouse/pull/6523) ([tavplubix](https://github.com/tavplubix))
* Correction d’un blocage dans la fonction `JSONExtractRaw`. [#6195](https://github.com/ClickHouse/ClickHouse/issues/6195) [#6198](https://github.com/ClickHouse/ClickHouse/pull/6198) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un bug de sérialisation incorrecte des index de saut, ainsi qu’un bug d’agrégation avec granularité adaptative. [#6594](https://github.com/ClickHouse/ClickHouse/issues/6594). [#6748](https://github.com/ClickHouse/ClickHouse/pull/6748) ([alesapin](https://github.com/alesapin))
* Corrige les modificateurs `WITH ROLLUP` et `WITH CUBE` de `GROUP BY` avec agrégation à deux niveaux. [#6225](https://github.com/ClickHouse/ClickHouse/pull/6225) ([Anton Popov](https://github.com/CurtizJ))
* Corrige un bug lors de l’écriture des marks des index secondaires avec granularité adaptative. [#6126](https://github.com/ClickHouse/ClickHouse/pull/6126) ([alesapin](https://github.com/alesapin))
* Corrige l’ordre d’initialisation au démarrage du serveur. Comme `StorageMergeTree::background_task_handle` est initialisé dans `startup()`, `MergeTreeBlockOutputStream::write()` peut tenter de l’utiliser avant son initialisation. Il suffit donc de vérifier qu’il est bien initialisé. [#6080](https://github.com/ClickHouse/ClickHouse/pull/6080) ([Ivan](https://github.com/abyss7))
* Effacement du tampon de données de l’opération de lecture précédente, qui s’était terminée par une erreur. [#6026](https://github.com/ClickHouse/ClickHouse/pull/6026) ([Nikolay](https://github.com/bopohaa))
* Corrige un bug lors de l’activation de la granularité adaptative pendant la création d’une nouvelle réplique pour une table Replicated\*MergeTree. [#6394](https://github.com/ClickHouse/ClickHouse/issues/6394) [#6452](https://github.com/ClickHouse/ClickHouse/pull/6452) ([alesapin](https://github.com/alesapin))
* Correction d’un crash possible au démarrage du serveur lorsqu’une exception survenait dans `libunwind` pendant une exception, lors de l’accès à la structure `ThreadStatus` non initialisée. [#6456](https://github.com/ClickHouse/ClickHouse/pull/6456) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Corrige un crash dans la fonction `yandexConsistentHash`. Détecté par un test de fuzzing. [#6304](https://github.com/ClickHouse/ClickHouse/issues/6304) [#6305](https://github.com/ClickHouse/ClickHouse/pull/6305) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un problème pouvant bloquer des requêtes lorsque le serveur est surchargé et que le pool global de threads est presque saturé. Le problème a davantage de chances de se produire sur des clusters comportant un grand nombre de shards (des centaines), car les requêtes distribuées allouent un thread par connection à chaque shard. Par exemple, ce problème peut être reproduit si un cluster de 330 shards traite 30 requêtes distribuées concurrentes. Ce problème affecte toutes les versions à partir de la 19.2. [#6301](https://github.com/ClickHouse/ClickHouse/pull/6301) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de la logique de la fonction `arrayEnumerateUniqRanked`. [#6423](https://github.com/ClickHouse/ClickHouse/pull/6423) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un segfault lors du décodage de la table des symboles. [#6603](https://github.com/ClickHouse/ClickHouse/pull/6603) ([Amos Bird](https://github.com/amosbird))
* Correction d’une exception non pertinente lors du cast de `LowCardinality(Nullable)` vers une colonne non Nullable lorsqu’elle ne contient pas de NULL (par ex. dans une requête comme `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))
* Suppression des guillemets superflus autour de la description dans la table `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))
* Évite un interblocage possible lors d'un `TRUNCATE` sur une table Replicated. [#6695](https://github.com/ClickHouse/ClickHouse/pull/6695) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la lecture selon l'ordre de la clé de tri. [#6189](https://github.com/ClickHouse/ClickHouse/pull/6189) ([Anton Popov](https://github.com/CurtizJ))
* Corrige la requête `ALTER TABLE ... UPDATE` pour les tables avec `enable_mixed_granularity_parts=1`. [#6543](https://github.com/ClickHouse/ClickHouse/pull/6543) ([alesapin](https://github.com/alesapin))
* Corrige le bug introduit par [#4405](https://github.com/ClickHouse/ClickHouse/pull/4405) (depuis 19.4.0). Il se reproduit dans les requêtes sur des tables Distributed basées sur des tables MergeTree lorsqu'aucune colonne n'est demandée (`SELECT 1`). [#6236](https://github.com/ClickHouse/ClickHouse/pull/6236) ([alesapin](https://github.com/alesapin))
* Correction d'un dépassement de capacité dans la division entière d'un type signé par un type non signé. Le comportement était exactement le même qu'en C ou en C++ (règles de promotion des entiers), ce qui peut être surprenant. Veuillez noter que le dépassement de capacité reste possible lors de la division d'une grande valeur signée par une grande valeur non signée, ou inversement (mais ce cas est moins courant). Le problème existait dans toutes les versions du serveur. [#6214](https://github.com/ClickHouse/ClickHouse/issues/6214) [#6233](https://github.com/ClickHouse/ClickHouse/pull/6233) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Limite le temps de sommeil maximal pour la limitation de débit lorsque `max_execution_speed` ou `max_execution_speed_bytes` est défini. Corrige les faux messages d'erreur comme `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))
* Correction de problèmes liés à l'utilisation des colonnes `MATERIALIZED` et des alias dans `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))
* Corrige le comportement de `FormatFactory` pour les flux d'entrée qui ne sont pas implémentés comme processeur. [#6495](https://github.com/ClickHouse/ClickHouse/pull/6495) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige une faute de frappe. [#6631](https://github.com/ClickHouse/ClickHouse/pull/6631) ([Alex Ryndin](https://github.com/alexryndin))
* Faute de frappe dans le message d'erreur (`is` -> `are`). [#6839](https://github.com/ClickHouse/ClickHouse/pull/6839) ([Denis Zhuravlev](https://github.com/den-crane))
* Correction d'une erreur lors de l'analyse de la liste de colonnes à partir d'une chaîne si le type contenait une virgule (ce problème concernait les stockages `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">
  #### Correctif de sécurité
</div>

* Cette version contient également tous les correctifs de bugs et de sécurité des versions 19.13 et 19.11.
* Correction de la possibilité qu’une requête spécialement conçue provoque le plantage du serveur en raison d’un débordement de pile dans l’analyseur SQL. Correction de la possibilité de débordement de pile dans les tables Merge et Distributed, les vues matérialisées et les conditions de sécurité au niveau des lignes comportant des sous-requêtes. [#6433](https://github.com/ClickHouse/ClickHouse/pull/6433) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="improvement">
  #### Amélioration
</div>

* Implémentation correcte de la logique ternaire pour `AND/OR`. [#6048](https://github.com/ClickHouse/ClickHouse/pull/6048) ([Alexander Kazakov](https://github.com/Akazz))
* Désormais, les valeurs et les lignes dont le TTL a expiré seront supprimées après une requête `OPTIMIZE ... FINAL` à partir d’anciennes parts sans informations TTL ou avec des informations TTL obsolètes, par exemple après une requête `ALTER ... MODIFY TTL`. Ajout des requêtes `SYSTEM STOP/START TTL MERGES` pour interdire/autoriser l’attribution de merges avec TTL et filtrer les valeurs expirées dans tous les merges. [#6274](https://github.com/ClickHouse/ClickHouse/pull/6274) ([Anton Popov](https://github.com/CurtizJ))
* Possibilité de modifier l’emplacement du fichier d’historique de ClickHouse pour le client à l’aide de la variable d’environnement `CLICKHOUSE_HISTORY_FILE`. [#6840](https://github.com/ClickHouse/ClickHouse/pull/6840) ([filimonov](https://github.com/filimonov))
* Suppression du flag `dry_run` de `InterpreterSelectQuery`. ... [#6375](https://github.com/ClickHouse/ClickHouse/pull/6375) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Prise en charge de `ASOF JOIN` avec la clause `ON`. [#6211](https://github.com/ClickHouse/ClickHouse/pull/6211) ([Artem Zuikov](https://github.com/4ertus2))
* Meilleure prise en charge des skip indexes pour les mutations et la réplication. Prise en charge de la requête `MATERIALIZE/CLEAR INDEX ... IN PARTITION`. `UPDATE x = x` recalcule tous les index qui utilisent la colonne `x`. [#5053](https://github.com/ClickHouse/ClickHouse/pull/5053) ([Nikita Vasilev](https://github.com/nikvas0))
* Autorisation d’`ATTACH` sur les live views (par exemple au démarrage du serveur), indépendamment du paramètre `allow_experimental_live_view`. [#6754](https://github.com/ClickHouse/ClickHouse/pull/6754) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Pour les stack traces recueillies par le query profiler, ne pas inclure les frames de pile générées par le query profiler lui-même. [#6250](https://github.com/ClickHouse/ClickHouse/pull/6250) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Désormais, les table functions `values`, `file`, `url`, `hdfs` prennent en charge les colonnes ALIAS. [#6255](https://github.com/ClickHouse/ClickHouse/pull/6255) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Lever une exception si le fichier `config.d` n’a pas le même élément racine que le fichier de configuration. [#6123](https://github.com/ClickHouse/ClickHouse/pull/6123) ([dimarub2000](https://github.com/dimarub2000))
* Afficher des informations supplémentaires dans le message d’exception pour `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))
* Lors de la détermination des shards d’une table `Distributed` à couvrir par une requête de lecture (pour `optimize_skip_unused_shards` = 1), ClickHouse vérifie désormais les conditions des clauses `prewhere` et `where` de l’instruction select. [#6521](https://github.com/ClickHouse/ClickHouse/pull/6521) ([Alexander Kazakov](https://github.com/Akazz))
* `SIMDJSON` activé pour les machines sans AVX2 mais avec SSE 4.2 et le jeu d’instructions 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 peut fonctionner sur des systèmes de fichiers sans prise en charge de `O_DIRECT` (comme ZFS et BtrFS) sans réglage supplémentaire. [#4449](https://github.com/ClickHouse/ClickHouse/issues/4449) [#6730](https://github.com/ClickHouse/ClickHouse/pull/6730) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Prise en charge du push down de prédicats pour la sous-requête 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))
* Amélioration de l'extraction des clés `JOIN ON` [#6131](https://github.com/ClickHouse/ClickHouse/pull/6131) ([Artem Zuikov](https://github.com/4ertus2))
* Mise à jour de `SIMDJSON`. [#6285](https://github.com/ClickHouse/ClickHouse/issues/6285). [#6306](https://github.com/ClickHouse/ClickHouse/pull/6306) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Optimisation de la sélection de la plus petite colonne pour la requête `SELECT count()`. [#6344](https://github.com/ClickHouse/ClickHouse/pull/6344) ([Amos Bird](https://github.com/amosbird))
* Ajout du paramètre `strict` dans `windowFunnel()`. Lorsque `strict` est défini, `windowFunnel()` applique les conditions uniquement aux valeurs uniques. [#6548](https://github.com/ClickHouse/ClickHouse/pull/6548) ([achimbab](https://github.com/achimbab))
* Interface plus sûre pour `mysqlxx::Pool`. [#6150](https://github.com/ClickHouse/ClickHouse/pull/6150) ([avasiliev](https://github.com/avasiliev))
* La longueur des lignes d'options lors de l'exécution avec l'option `--help` correspond désormais à la taille du terminal. [#6590](https://github.com/ClickHouse/ClickHouse/pull/6590) ([dimarub2000](https://github.com/dimarub2000))
* Désactivation de l'optimisation "read in order" pour l'agrégation sans clés. [#6599](https://github.com/ClickHouse/ClickHouse/pull/6599) ([Anton Popov](https://github.com/CurtizJ))
* Le code de statut HTTP pour les codes d'erreur `INCORRECT_DATA` et `TYPE_MISMATCH` a été modifié, passant de `500 Internal Server Error` par défaut à `400 Bad Request`. [#6271](https://github.com/ClickHouse/ClickHouse/pull/6271) ([Alexander Rodin](https://github.com/a-rodin))
* Déplacement de l'objet Join de `ExpressionAction` vers `AnalyzedJoin`. `ExpressionAnalyzer` et `ExpressionAction` ne connaissent plus la classe `Join`. Sa logique est désormais masquée derrière l'interface `AnalyzedJoin`. [#6801](https://github.com/ClickHouse/ClickHouse/pull/6801) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un interblocage possible des requêtes distribuées lorsque l'un des shards est localhost mais que la requête est envoyée via une connexion réseau. [#6759](https://github.com/ClickHouse/ClickHouse/pull/6759) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Modification de la sémantique de `RENAME` sur plusieurs tables afin d'éviter d'éventuels interblocages. [#6757](https://github.com/ClickHouse/ClickHouse/issues/6757). [#6756](https://github.com/ClickHouse/ClickHouse/pull/6756) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Réécriture du serveur de compatibilité MySQL pour éviter de charger en mémoire l'intégralité du payload du paquet. Réduction de la consommation mémoire pour chaque connexion à environ `2 * DBMS_DEFAULT_BUFFER_SIZE` (tampons de lecture/écriture). [#5811](https://github.com/ClickHouse/ClickHouse/pull/5811) ([Yuriy Baranov](https://github.com/yurriy))
* Déplacement de la logique d'interprétation des alias d'AST hors du parseur, qui n'a pas besoin de connaître la sémantique des requêtes. [#6108](https://github.com/ClickHouse/ClickHouse/pull/6108) ([Artem Zuikov](https://github.com/4ertus2))
* Parsing légèrement plus sûr de `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` : autorise l’utilisation de `where_condition` depuis la configuration avec l’alias `partition_key` dans la requête de vérification de l’existence d’une partition (auparavant, il n’était utilisé que dans les requêtes de lecture de données). [#6577](https://github.com/ClickHouse/ClickHouse/pull/6577) ([proller](https://github.com/proller))
* Ajout d’un argument de message facultatif dans `throwIf`. ([#5772](https://github.com/ClickHouse/ClickHouse/issues/5772)) [#6329](https://github.com/ClickHouse/ClickHouse/pull/6329) ([Vdimir](https://github.com/Vdimir))
* L’exception du serveur reçue lors de l’envoi des données d’insertion est désormais également traitée par le client. [#5891](https://github.com/ClickHouse/ClickHouse/issues/5891) [#6711](https://github.com/ClickHouse/ClickHouse/pull/6711) ([dimarub2000](https://github.com/dimarub2000))
* Ajout de la métrique `DistributedFilesToInsert`, qui affiche le nombre total de fichiers du système de fichiers sélectionnés pour être envoyés à des serveurs distants par les tables Distributed. Ce nombre est additionné sur l’ensemble des shards. [#6600](https://github.com/ClickHouse/ClickHouse/pull/6600) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Déplacement de la majeure partie de la logique de préparation des JOIN de `ExpressionAction/ExpressionAnalyzer` vers `AnalyzedJoin`. [#6785](https://github.com/ClickHouse/ClickHouse/pull/6785) ([Artem Zuikov](https://github.com/4ertus2))
* Correction de l’[avertissement](https://clickhouse-test-reports.s3.yandex.net/6399/c1c1d1daa98e199e620766f1bd06a5921050a00d/functional_stateful_tests_\(thread\).html) TSan 'lock-order-inversion'. [#6740](https://github.com/ClickHouse/ClickHouse/pull/6740) ([Vasily Nemkov](https://github.com/Enmk))
* Messages d’information améliorés concernant l’absence de capabilities Linux. Journalisation des erreurs fatales avec le niveau "fatal", ce qui facilitera leur recherche dans `system.text_log`. [#6441](https://github.com/ClickHouse/ClickHouse/pull/6441) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Lors de l’activation du vidage des données temporaires sur le disque pour limiter l’utilisation mémoire pendant `GROUP BY` et `ORDER BY`, l’espace disque libre n’était pas vérifié. Le correctif ajoute un nouveau paramètre `min_free_disk_space` ; lorsque l’espace disque libre est inférieur au seuil, la requête s’arrête et lève `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))
* Suppression du rwlock récursif par thread. Cela n’a pas de sens, car les threads sont réutilisés entre les requêtes. Une requête `SELECT` peut acquérir un verrou dans un thread, le conserver depuis un autre thread, puis se terminer dans le premier thread. Pendant ce temps, le premier thread peut être réutilisé par une requête `DROP`. Cela entraînera de faux messages "Attempt to acquire exclusive lock recursively". [#6771](https://github.com/ClickHouse/ClickHouse/pull/6771) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Scission de `ExpressionAnalyzer.appendJoin()`. Prépare le terrain dans `ExpressionAnalyzer` pour `MergeJoin`. [#6524](https://github.com/ClickHouse/ClickHouse/pull/6524) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout du plugin d’authentification `mysql_native_password` au serveur de compatibilité MySQL. [#6194](https://github.com/ClickHouse/ClickHouse/pull/6194) ([Yuriy Baranov](https://github.com/yurriy))
* Réduction du nombre d’appels à `clock_gettime` ; correction de la compatibilité ABI entre les versions debug et release dans `Allocator` (problème mineur). [#6197](https://github.com/ClickHouse/ClickHouse/pull/6197) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Déplacement de `collectUsedColumns` de `ExpressionAnalyzer` vers `SyntaxAnalyzer`. `SyntaxAnalyzer` génère désormais lui-même `required_source_columns`. [#6416](https://github.com/ClickHouse/ClickHouse/pull/6416) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout du paramètre `joined_subquery_requires_alias` pour exiger des alias pour les sous-requêtes et les fonctions de table dans `FROM` lorsque plusieurs tables sont présentes (c.-à-d. pour les requêtes avec JOIN). [#6733](https://github.com/ClickHouse/ClickHouse/pull/6733) ([Artem Zuikov](https://github.com/4ertus2))
* Extraction de la classe `GetAggregatesVisitor` depuis `ExpressionAnalyzer`. [#6458](https://github.com/ClickHouse/ClickHouse/pull/6458) ([Artem Zuikov](https://github.com/4ertus2))
* `system.query_log` : modification du type de données de la colonne `type` en `Enum`. [#6265](https://github.com/ClickHouse/ClickHouse/pull/6265) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Liaison statique du plugin d'authentication `sha256_password`. [#6512](https://github.com/ClickHouse/ClickHouse/pull/6512) ([Yuriy Baranov](https://github.com/yurriy))
* Évite une dépendance supplémentaire pour que le paramètre `compile` fonctionne. Dans les versions précédentes, l'utilisateur pouvait obtenir des errors telles que `cannot open crti.o`, `unable to find library -lc`, etc. [#6309](https://github.com/ClickHouse/ClickHouse/pull/6309) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Validation renforcée des entrées pouvant provenir d'une replica malveillante. [#6303](https://github.com/ClickHouse/ClickHouse/pull/6303) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Le fichier `clickhouse-obfuscator` est désormais disponible dans le paquet `clickhouse-client`. Dans les versions précédentes, il était disponible sous la forme `clickhouse obfuscator` (avec un espace). [#5816](https://github.com/ClickHouse/ClickHouse/issues/5816) [#6609](https://github.com/ClickHouse/ClickHouse/pull/6609) ([dimarub2000](https://github.com/dimarub2000))
* Correction d'un interblocage lorsqu'au moins deux requêtes lisent au moins deux tables dans un ordre différent et qu'une autre requête effectue une opération DDL sur l'une de ces tables. Correction d'un autre interblocage très rare. [#6764](https://github.com/ClickHouse/ClickHouse/pull/6764) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la colonne `os_thread_ids` à `system.processes` et `system.query_log` pour améliorer les possibilités de Débogage. [#6763](https://github.com/ClickHouse/ClickHouse/pull/6763) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Solution de contournement pour des bogues de l'extension PHP mysqlnd qui surviennent lorsque `sha256_password` est utilisé comme plugin d'authentication par défaut (décrit dans [#6031](https://github.com/ClickHouse/ClickHouse/issues/6031)). [#6113](https://github.com/ClickHouse/ClickHouse/pull/6113) ([Yuriy Baranov](https://github.com/yurriy))
* Suppression d'un emplacement inutile contenant des colonnes dont la nullabilité a été modifiée. [#6693](https://github.com/ClickHouse/ClickHouse/pull/6693) ([Artem Zuikov](https://github.com/4ertus2))
* Définition de la valeur par défaut de `queue_max_wait_ms` à zéro, car la valeur actuelle (cinq secondes) n'a pas de sens. Ce paramètre n'est utile que dans de rares cas. Ajout des paramètres `replace_running_query_max_wait_ms`, `kafka_max_wait_ms` et `connection_pool_max_wait_ms` pour lever l'ambiguïté. [#6692](https://github.com/ClickHouse/ClickHouse/pull/6692) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Extraction de `SelectQueryExpressionAnalyzer` depuis `ExpressionAnalyzer`. Ce dernier est conservé pour les requêtes non SELECT. [#6499](https://github.com/ClickHouse/ClickHouse/pull/6499) ([Artem Zuikov](https://github.com/4ertus2))
* Suppression des doublons dans les formats d’entrée et de sortie. [#6239](https://github.com/ClickHouse/ClickHouse/pull/6239) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Autorise l’utilisateur à redéfinir les paramètres `poll_interval` et `idle_connection_timeout` pour la connexion. [#6230](https://github.com/ClickHouse/ClickHouse/pull/6230) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `MergeTree` dispose désormais d’une option supplémentaire `ttl_only_drop_parts` (désactivée par défaut) pour éviter la purge partielle des parts, afin qu’elles soient entièrement supprimées lorsque toutes les lignes d’une part ont expiré. [#6191](https://github.com/ClickHouse/ClickHouse/pull/6191) ([Sergi Vladykin](https://github.com/svladykin))
* Vérification des types pour les fonctions d’index Set. Une exception est levée si la fonction reçoit un type incorrect. Cela corrige le test de fuzzing avec UBSan. [#6511](https://github.com/ClickHouse/ClickHouse/pull/6511) ([Nikita Vasilev](https://github.com/nikvas0))

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Optimise les requêtes avec la clause `ORDER BY expressions`, lorsque `expressions` partage un préfixe avec la clé de tri dans les tables `MergeTree`. Cette optimisation est contrôlée par le paramètre `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))
* Permet d'utiliser plusieurs threads lors du chargement et de la suppression des parts. [#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))
* Implémentation d'une variante batch pour la mise à jour des états de fonctions d'agrégation. Cela peut apporter des gains de performance. [#6435](https://github.com/ClickHouse/ClickHouse/pull/6435) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Utilisation de la bibliothèque `FastOps` pour les fonctions `exp`, `log`, `sigmoid`, `tanh`. FastOps est une bibliothèque rapide de calcul vectoriel de Michael Parakhin (CTO de Yandex). Les performances des fonctions `exp` et `log` ont été améliorées de plus d'un facteur 6. Les fonctions `exp` et `log` avec un argument `Float32` renverront `Float32` (dans les versions précédentes, elles renvoyaient toujours `Float64`). Désormais, `exp(nan)` peut renvoyer `inf`. Le résultat des fonctions `exp` et `log` peut ne pas être le nombre représentable par la machine le plus proche de la valeur réelle. [#6254](https://github.com/ClickHouse/ClickHouse/pull/6254) ([alexey-milovidov](https://github.com/alexey-milovidov)) Utilisation de la variante de Danila Kutenin pour faire fonctionner FastOps [#6317](https://github.com/ClickHouse/ClickHouse/pull/6317) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Désactive l'optimisation des clés consécutives pour `UInt8/16`. [#6298](https://github.com/ClickHouse/ClickHouse/pull/6298) [#6701](https://github.com/ClickHouse/ClickHouse/pull/6701) ([akuzm](https://github.com/akuzm))
* Améliore les performances de la bibliothèque `simdjson` en supprimant l'allocation dynamique dans `ParsedJson::Iterator`. [#6479](https://github.com/ClickHouse/ClickHouse/pull/6479) ([Vitaly Baranov](https://github.com/vitlibar))
* Précharge les pages lors de l'allocation mémoire avec `mmap()`. [#6667](https://github.com/ClickHouse/ClickHouse/pull/6667) ([akuzm](https://github.com/akuzm))
* Corrige un problème de performances dans la comparaison de `Decimal`. [#6380](https://github.com/ClickHouse/ClickHouse/pull/6380) ([Artem Zuikov](https://github.com/4ertus2))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Suppression de Compiler (instanciation de modèles à l’exécution), car ses performances sont désormais inférieures aux nôtres. [#6646](https://github.com/ClickHouse/ClickHouse/pull/6646) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un test de performance pour montrer de façon plus isolée la dégradation des performances avec gcc-9. [#6302](https://github.com/ClickHouse/ClickHouse/pull/6302) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la fonction de table `numbers_mt`, version multithread de `numbers`. Mise à jour des tests de performance avec des fonctions de hachage. [#6554](https://github.com/ClickHouse/ClickHouse/pull/6554) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Mode de comparaison dans `clickhouse-benchmark` [#6220](https://github.com/ClickHouse/ClickHouse/issues/6220) [#6343](https://github.com/ClickHouse/ClickHouse/pull/6343) ([dimarub2000](https://github.com/dimarub2000))
* Amélioration, dans la mesure du possible, de l’affichage des traces de pile. Ajout également de `SIGPROF` comme signal de débogage pour afficher la trace de pile d’un thread en cours d’exécution. [#6529](https://github.com/ClickHouse/ClickHouse/pull/6529) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Chaque fonction dans son propre fichier, partie 10. [#6321](https://github.com/ClickHouse/ClickHouse/pull/6321) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Suppression de la constante dupliquée `TABLE_IS_READ_ONLY`. [#6566](https://github.com/ClickHouse/ClickHouse/pull/6566) ([filimonov](https://github.com/filimonov))
* Modifications de formatage pour la PR `StringHashMap` [#5417](https://github.com/ClickHouse/ClickHouse/issues/5417). [#6700](https://github.com/ClickHouse/ClickHouse/pull/6700) ([akuzm](https://github.com/akuzm))
* Amélioration de la sous-requête pour la création de jointures dans `ExpressionAnalyzer`. [#6824](https://github.com/ClickHouse/ClickHouse/pull/6824) ([Artem Zuikov](https://github.com/4ertus2))
* Suppression d’une condition redondante (détectée par PVS Studio). [#6775](https://github.com/ClickHouse/ClickHouse/pull/6775) ([akuzm](https://github.com/akuzm))
* Séparation de l’interface de table de hachage pour `ReverseIndex`. [#6672](https://github.com/ClickHouse/ClickHouse/pull/6672) ([akuzm](https://github.com/akuzm))
* Refactorisation des paramètres. [#6689](https://github.com/ClickHouse/ClickHouse/pull/6689) ([alesapin](https://github.com/alesapin))
* Ajout de commentaires pour les fonctions d’index `set`. [#6319](https://github.com/ClickHouse/ClickHouse/pull/6319) ([Nikita Vasilev](https://github.com/nikvas0))
* Augmentation du score OOM dans la version de débogage sous Linux. [#6152](https://github.com/ClickHouse/ClickHouse/pull/6152) ([akuzm](https://github.com/akuzm))
* HDFS HA fonctionne désormais dans le build de débogage. [#6650](https://github.com/ClickHouse/ClickHouse/pull/6650) ([Weiqing Xu](https://github.com/weiqxu))
* Ajout d’un test à `transform_query_for_external_database`. [#6388](https://github.com/ClickHouse/ClickHouse/pull/6388) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un test pour plusieurs vues matérialisées sur une table Kafka. [#6509](https://github.com/ClickHouse/ClickHouse/pull/6509) ([Ivan](https://github.com/abyss7))
* Mise en place d’un meilleur schéma de build. [#6500](https://github.com/ClickHouse/ClickHouse/pull/6500) ([Ivan](https://github.com/abyss7))
* Correction de l’intégration `test_external_dictionaries` lorsqu’elle était exécutée sous un utilisateur non root. [#6507](https://github.com/ClickHouse/ClickHouse/pull/6507) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Le bogue se reproduit lorsque la taille totale des paquets écrits dépasse `DBMS_DEFAULT_BUFFER_SIZE`. [#6204](https://github.com/ClickHouse/ClickHouse/pull/6204) ([Yuriy Baranov](https://github.com/yurriy))
* Ajout d’un test pour la condition de concurrence sur la table `RENAME` [#6752](https://github.com/ClickHouse/ClickHouse/pull/6752) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Évite une data race sur Settings dans `KILL QUERY`. [#6753](https://github.com/ClickHouse/ClickHouse/pull/6753) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un test d’intégration pour la gestion des erreurs dans un dictionnaire de type cache. [#6755](https://github.com/ClickHouse/ClickHouse/pull/6755) ([Vitaly Baranov](https://github.com/vitlibar))
* Désactivation de l’analyse des fichiers objet ELF sur Mac OS, car cela n’a pas de sens. [#6578](https://github.com/ClickHouse/ClickHouse/pull/6578) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Tentative d’amélioration du générateur de changelog. [#6327](https://github.com/ClickHouse/ClickHouse/pull/6327) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de l’option `-Wshadow` à GCC. [#6325](https://github.com/ClickHouse/ClickHouse/pull/6325) ([kreuzerkrieg](https://github.com/kreuzerkrieg))
* Suppression du code obsolète de prise en charge de `mimalloc`. [#6715](https://github.com/ClickHouse/ClickHouse/pull/6715) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `zlib-ng` détermine les fonctionnalités x86 et enregistre ces informations dans des variables globales. Cela se fait lors de l’appel à defalteInit, qui peut être effectué simultanément par plusieurs threads. Pour éviter les écritures concurrentes, cette opération est désormais effectuée au démarrage de la bibliothèque. [#6141](https://github.com/ClickHouse/ClickHouse/pull/6141) ([akuzm](https://github.com/akuzm))
* Test de régression pour un bogue dans une jointure, corrigé dans [#5192](https://github.com/ClickHouse/ClickHouse/issues/5192). [#6147](https://github.com/ClickHouse/ClickHouse/pull/6147) ([Bakhtiyor Ruziev](https://github.com/theruziev))
* Correction d’un rapport MSan. [#6144](https://github.com/ClickHouse/ClickHouse/pull/6144) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un test TTL instable. [#6782](https://github.com/ClickHouse/ClickHouse/pull/6782) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’une fausse data race dans le champ `MergeTreeDataPart::is_frozen`. [#6583](https://github.com/ClickHouse/ClickHouse/pull/6583) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction des timeouts dans le test de fuzzing. Dans la version précédente, il détectait à tort un blocage dans la requête `SELECT * FROM numbers_mt(gccMurmurHash(''))`. [#6582](https://github.com/ClickHouse/ClickHouse/pull/6582) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de vérifications de débogage pour les `static_cast` de colonnes. [#6581](https://github.com/ClickHouse/ClickHouse/pull/6581) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Prise en charge d’Oracle Linux dans les paquets RPM officiels. [#6356](https://github.com/ClickHouse/ClickHouse/issues/6356) [#6585](https://github.com/ClickHouse/ClickHouse/pull/6585) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Changement du type des tests de performance JSON de `once` à `loop`. [#6536](https://github.com/ClickHouse/ClickHouse/pull/6536) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* `odbc-bridge.cpp` définit `main()`, il ne doit donc pas être inclus dans `clickhouse-lib`. [#6538](https://github.com/ClickHouse/ClickHouse/pull/6538) ([Orivej Desh](https://github.com/orivej))
* Test de plantage dans `FULL|RIGHT JOIN` avec des valeurs NULL dans les clés de la table de droite. [#6362](https://github.com/ClickHouse/ClickHouse/pull/6362) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout d’un test sur la limite d’expansion des alias, par précaution. [#6442](https://github.com/ClickHouse/ClickHouse/pull/6442) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Remplacement de `boost::filesystem` par `std::filesystem` lorsque c’était pertinent. [#6253](https://github.com/ClickHouse/ClickHouse/pull/6253) [#6385](https://github.com/ClickHouse/ClickHouse/pull/6385) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout des paquets RPM au site web. [#6251](https://github.com/ClickHouse/ClickHouse/pull/6251) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un test pour l’exception `Unknown identifier` corrigée dans la section `IN`. [#6708](https://github.com/ClickHouse/ClickHouse/pull/6708) ([Artem Zuikov](https://github.com/4ertus2))
* Simplification de `shared_ptr_helper`, car il était difficile à comprendre. [#6675](https://github.com/ClickHouse/ClickHouse/pull/6675) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de tests de performance pour les codecs Gorilla et DoubleDelta corrigés. [#6179](https://github.com/ClickHouse/ClickHouse/pull/6179) ([Vasily Nemkov](https://github.com/Enmk))
* Division du test d’intégration `test_dictionaries` en 4 tests distincts. [#6776](https://github.com/ClickHouse/ClickHouse/pull/6776) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction d’un avertissement PVS-Studio dans `PipelineExecutor`. [#6777](https://github.com/ClickHouse/ClickHouse/pull/6777) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Autorisation d’utiliser la source de dictionnaire `library` avec ASan. [#6482](https://github.com/ClickHouse/ClickHouse/pull/6482) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’une option pour générer le changelog à partir d’une liste de PR. [#6350](https://github.com/ClickHouse/ClickHouse/pull/6350) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Verrouillage du moteur de stockage `TinyLog` pendant la lecture. [#6226](https://github.com/ClickHouse/ClickHouse/pull/6226) ([akuzm](https://github.com/akuzm))
* Vérification des liens symboliques cassés dans la CI. [#6634](https://github.com/ClickHouse/ClickHouse/pull/6634) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Augmentation du timeout pour le test "stack overflow", car il peut être très long dans une build de débogage. [#6637](https://github.com/ClickHouse/ClickHouse/pull/6637) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’une vérification des doubles espaces. [#6643](https://github.com/ClickHouse/ClickHouse/pull/6643) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction du suivi mémoire de `new/delete` lors d’une build avec des sanitizers. Le suivi reste imprécis. Cela permet seulement d’éviter les exceptions de limite mémoire dans les tests. [#6450](https://github.com/ClickHouse/ClickHouse/pull/6450) ([Artem Zuikov](https://github.com/4ertus2))
* Réactivation de la vérification des symboles non définis lors de l’édition des liens. [#6453](https://github.com/ClickHouse/ClickHouse/pull/6453) ([Ivan](https://github.com/abyss7))
* Éviter de reconstruire `hyperscan` chaque jour. [#6307](https://github.com/ClickHouse/ClickHouse/pull/6307) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un signalement UBSan dans `ProtobufWriter`. [#6163](https://github.com/ClickHouse/ClickHouse/pull/6163) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ne plus autoriser l’utilisation du profileur de requêtes avec les sanitizers, car ils ne sont pas compatibles. [#6769](https://github.com/ClickHouse/ClickHouse/pull/6769) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un test pour recharger un dictionnaire après un échec sur temporisation. [#6114](https://github.com/ClickHouse/ClickHouse/pull/6114) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction d’une incohérence dans le type d’argument de `PipelineExecutor::prepareProcessor`. [#6494](https://github.com/ClickHouse/ClickHouse/pull/6494) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Ajout d’un test pour les URI invalides. [#6493](https://github.com/ClickHouse/ClickHouse/pull/6493) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de vérifications supplémentaires à la fonction `CAST`. Cela devrait fournir plus d’informations sur la segmentation fault dans le test de fuzzing. [#6346](https://github.com/ClickHouse/ClickHouse/pull/6346) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Ajout de la prise en charge de `gcc-9` au conteneur `docker/builder` qui construit l’image localement. [#6333](https://github.com/ClickHouse/ClickHouse/pull/6333) ([Gleb Novikov](https://github.com/NanoBjorn))
* Test de la clé primaire avec `LowCardinality(String)`. [#5044](https://github.com/ClickHouse/ClickHouse/issues/5044) [#6219](https://github.com/ClickHouse/ClickHouse/pull/6219) ([dimarub2000](https://github.com/dimarub2000))
* Correction des tests affectés par la lenteur de l’affichage des stack traces. [#6315](https://github.com/ClickHouse/ClickHouse/pull/6315) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un cas de test pour le crash dans `groupUniqArray` corrigé dans [#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))
* Correction des tests de mutations d’index. [#6645](https://github.com/ClickHouse/ClickHouse/pull/6645) ([Nikita Vasilev](https://github.com/nikvas0))
* Dans le test de performance, ne pas lire le query log pour les requêtes qui n’ont pas été exécutées. [#6427](https://github.com/ClickHouse/ClickHouse/pull/6427) ([akuzm](https://github.com/akuzm))
* Une vue matérialisée peut désormais être créée avec n’importe quel type LowCardinality, indépendamment du paramètre concernant les types LowCardinality suspects. [#6428](https://github.com/ClickHouse/ClickHouse/pull/6428) ([Olga Khvostikova](https://github.com/stavrolia))
* Mise à jour des tests pour le paramètre `send_logs_level`. [#6207](https://github.com/ClickHouse/ClickHouse/pull/6207) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction de la compilation avec gcc-8.2. [#6196](https://github.com/ClickHouse/ClickHouse/pull/6196) ([Max Akhmedov](https://github.com/zlobober))
* Correction de la compilation avec libc++ interne. [#6724](https://github.com/ClickHouse/ClickHouse/pull/6724) ([Ivan](https://github.com/abyss7))
* Correction de la compilation partagée avec la bibliothèque `rdkafka` [#6101](https://github.com/ClickHouse/ClickHouse/pull/6101) ([Ivan](https://github.com/abyss7))
* Correctifs pour le build Mac OS (incomplets). [#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))
* Correction du build "splitted". [#6618](https://github.com/ClickHouse/ClickHouse/pull/6618) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Autres correctifs du build : [#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-2">
  #### Changement non rétrocompatible
</div>

* Suppression de la fonction de table `catBoostPool` et du moteur de stockage `CatBoostPool`, rarement utilisés. Si vous avez utilisé cette fonction de table, veuillez envoyer un e-mail à `feedback@clickhouse.com`. Notez que l’intégration CatBoost est maintenue et continuera d’être prise en charge. [#6279](https://github.com/ClickHouse/ClickHouse/pull/6279) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `ANY RIGHT JOIN` et `ANY FULL JOIN` sont désormais désactivés par défaut. Définissez le paramètre `any_join_distinct_right_table_keys` pour les activer. [#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">
  ## Version de ClickHouse 19.13
</div>

<div id="clickhouse-release-19-13-6-51-2019-10-02">
  ### Version de ClickHouse 19.13.6.51, 2019-10-02
</div>

<div id="bug-fix-6">
  #### Correction de bug
</div>

* Cette version inclut également toutes les corrections de bugs de la version 19.11.12.69.

<div id="clickhouse-release-19-13-5-44-2019-09-20">
  ### Version de ClickHouse 19.13.5.44, 2019-09-20
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Cette version inclut également toutes les corrections de bugs de la version 19.14.6.12.
* Correction d’un état potentiellement incohérent de la table lors de l’exécution de la requête `DROP` sur une table répliquée lorsque ZooKeeper n’est pas accessible. [#6045](https://github.com/ClickHouse/ClickHouse/issues/6045) [#6413](https://github.com/ClickHouse/ClickHouse/pull/6413) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Correction d’une data race dans StorageMerge [#6717](https://github.com/ClickHouse/ClickHouse/pull/6717) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug introduit dans le query profiler, qui entraînait un `recv` infini depuis le socket. [#6386](https://github.com/ClickHouse/ClickHouse/pull/6386) ([alesapin](https://github.com/alesapin))
* Correction d’une utilisation excessive du CPU lors de l’exécution de la fonction `JSONExtractRaw` sur une valeur booléenne. [#6208](https://github.com/ClickHouse/ClickHouse/pull/6208) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction de la régression lors du push vers une vue matérialisée. [#6415](https://github.com/ClickHouse/ClickHouse/pull/6415) ([Ivan](https://github.com/abyss7))
* La fonction de table `url` présentait une vulnérabilité permettant à un attaquant d’injecter des en-têtes HTTP arbitraires dans la requête. Ce problème a été découvert par [Nikita Tikhomirov](https://github.com/NSTikhomirov). [#6466](https://github.com/ClickHouse/ClickHouse/pull/6466) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une vérification `AST` inutile dans l’index Set. [#6510](https://github.com/ClickHouse/ClickHouse/issues/6510) [#6651](https://github.com/ClickHouse/ClickHouse/pull/6651) ([Nikita Vasilev](https://github.com/nikvas0))
* Correction de l’analyse syntaxique des valeurs `AggregateFunction` intégrées à la requête. [#6575](https://github.com/ClickHouse/ClickHouse/issues/6575) [#6773](https://github.com/ClickHouse/ClickHouse/pull/6773) ([Zhichang Yu](https://github.com/yuzhichang))
* Correction du comportement incorrect de la famille de fonctions `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">
  ### Version de ClickHouse 19.13.4.32, 2019-09-10
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Cette version contient également tous les correctifs de bugs et de sécurité des versions 19.11.9.52 et 19.11.10.54.
* Correction d'une data race dans la table `system.parts` et la requête `ALTER`. [#6245](https://github.com/ClickHouse/ClickHouse/issues/6245) [#6513](https://github.com/ClickHouse/ClickHouse/pull/6513) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'un en-tête incohérent dans les flux lors de la lecture depuis une table distribuée vide avec sample et 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))
* Correction d'un crash lors de l'utilisation de la clause `IN` avec une sous-requête contenant un tuple. [#6125](https://github.com/ClickHouse/ClickHouse/issues/6125) [#6550](https://github.com/ClickHouse/ClickHouse/pull/6550) ([tavplubix](https://github.com/tavplubix))
* Correction du cas où des noms de colonnes sont identiques dans la clause `GLOBAL JOIN ON`. [#6181](https://github.com/ClickHouse/ClickHouse/pull/6181) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un crash lors de la conversion vers `Decimal` de types qui ne le prennent pas en charge. Une exception est désormais levée à la place. [#6297](https://github.com/ClickHouse/ClickHouse/pull/6297) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un crash dans la fonction `extractAll()`. [#6644](https://github.com/ClickHouse/ClickHouse/pull/6644) ([Artem Zuikov](https://github.com/4ertus2))
* La transformation de requête pour les fonctions de table `MySQL`, `ODBC`, `JDBC` fonctionne désormais correctement pour les requêtes `SELECT WHERE` comportant plusieurs expressions `AND`. [#6381](https://github.com/ClickHouse/ClickHouse/issues/6381) [#6676](https://github.com/ClickHouse/ClickHouse/pull/6676) ([dimarub2000](https://github.com/dimarub2000))
* Ajout de vérifications des déclarations préalables pour l'intégration MySQL 8. [#6569](https://github.com/ClickHouse/ClickHouse/pull/6569) ([Rafael David Tinoco](https://github.com/rafaeldtinoco))

<div id="security-fix">
  #### Correctif de sécurité
</div>

* Corrige deux vulnérabilités dans les codecs pendant la phase de décompression (un utilisateur malveillant peut fabriquer des données compressées provoquant un débordement de buffer lors de la décompression). [#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">
  ### Version de ClickHouse 19.13.3.26, 2019-08-22
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction de la requête `ALTER TABLE ... UPDATE` pour les tables avec `enable_mixed_granularity_parts=1`. [#6543](https://github.com/ClickHouse/ClickHouse/pull/6543) ([alesapin](https://github.com/alesapin))
* Correction d’une NPE lors de l’utilisation de la clause IN avec une sous-requête contenant un tuple. [#6125](https://github.com/ClickHouse/ClickHouse/issues/6125) [#6550](https://github.com/ClickHouse/ClickHouse/pull/6550) ([tavplubix](https://github.com/tavplubix))
* Correction d’un problème : si une réplique obsolète redevient active, elle peut encore contenir des parties de données supprimées par DROP PARTITION. [#6522](https://github.com/ClickHouse/ClickHouse/issues/6522) [#6523](https://github.com/ClickHouse/ClickHouse/pull/6523) ([tavplubix](https://github.com/tavplubix))
* Correction d’un problème d’analyse des CSV [#6426](https://github.com/ClickHouse/ClickHouse/issues/6426) [#6559](https://github.com/ClickHouse/ClickHouse/pull/6559) ([tavplubix](https://github.com/tavplubix))
* Correction d’une data race dans la table system.parts et dans la requête ALTER. Cela corrige [#6245](https://github.com/ClickHouse/ClickHouse/issues/6245). [#6513](https://github.com/ClickHouse/ClickHouse/pull/6513) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un code erroné dans les mutations pouvant entraîner une corruption mémoire. Correction d’un segfault lors de la lecture à l’adresse `0x14c0`, qui pouvait se produire en cas de `DROP TABLE` et de `SELECT` concurrents sur `system.parts` ou `system.parts_columns`. Correction d’une condition de concurrence lors de la préparation des requêtes de mutation. Correction d’un interblocage provoqué par `OPTIMIZE` sur des tables Replicated et des opérations de modification concurrentes comme des ALTER. [#6514](https://github.com/ClickHouse/ClickHouse/pull/6514) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une possible perte de données après une requête `ALTER DELETE` sur une table avec un index de saut de données. [#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">
  #### Correctif de sécurité
</div>

* Si un attaquant dispose d’un accès en écriture à ZooKeeper et peut exécuter un serveur personnalisé accessible depuis le réseau sur lequel ClickHouse s’exécute, il peut créer un serveur malveillant spécialement conçu pour se faire passer pour une réplique ClickHouse et l’enregistrer dans ZooKeeper. Lorsqu’une autre réplique ira récupérer une partie de données auprès de cette réplique malveillante, celle-ci pourra forcer clickhouse-server à écrire vers un chemin arbitraire sur le système de fichiers. Découvert par Eldar Zaitov, de l’équipe de sécurité de l’information chez 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">
  ### Version de ClickHouse 19.13.2.19, 2019-08-14
</div>

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Profileur d’échantillonnage au niveau des requêtes. [Exemple](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)
* Possibilité de spécifier une liste de colonnes avec l’expression `COLUMNS('regexp')`, qui fonctionne comme une version plus sophistiquée de l’astérisque `*`. [#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()` est désormais possible [#6057](https://github.com/ClickHouse/ClickHouse/pull/6057) ([dimarub2000](https://github.com/dimarub2000))
* L’optimiseur Adam pour la descente de gradient stochastique est utilisé par défaut dans les fonctions d’agrégation `stochasticLinearRegression()` et `stochasticLogisticRegression()`, car il offre une bonne qualité sans nécessiter pratiquement aucun ajustement. [#6000](https://github.com/ClickHouse/ClickHouse/pull/6000) ([Quid37](https://github.com/Quid37))
* Ajout de fonctions pour travailler avec un numéro de semaine personnalisé [#5212](https://github.com/ClickHouse/ClickHouse/pull/5212) ([Andy Yang](https://github.com/andyyzh))
* Les requêtes `RENAME` fonctionnent désormais avec tous les moteurs de stockage. [#5953](https://github.com/ClickHouse/ClickHouse/pull/5953) ([Ivan](https://github.com/abyss7))
* Désormais, le client reçoit les logs du serveur à n’importe quel niveau souhaité en définissant `send_logs_level`, indépendamment du niveau de log spécifié dans les paramètres du serveur. [#5964](https://github.com/ClickHouse/ClickHouse/pull/5964) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))

<div id="backward-incompatible-change-4">
  #### Changement incompatible avec les versions précédentes
</div>

* Le paramètre `input_format_defaults_for_omitted_fields` est activé par défaut. Les insertions dans les tables Distributed nécessitent que ce paramètre soit identique sur l'ensemble du cluster (vous devez le définir avant une mise à jour progressive). Il active le calcul d'expressions par défaut complexes pour les champs omis dans les formats `JSONEachRow` et `CSV*`. C'est le comportement attendu, mais cela peut entraîner une différence de performances négligeable. [#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-features">
  #### Fonctionnalités expérimentales
</div>

* Nouveau pipeline de traitement des requêtes. Utilisez l’option `experimental_use_processors=1` pour l’activer. À utiliser à vos risques et périls. [#4914](https://github.com/ClickHouse/ClickHouse/pull/4914) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="bug-fix">
  #### Correction de bugs
</div>

* L’intégration Kafka a été corrigée dans cette version.
* Correction de l’encodage `DoubleDelta` de `Int64` pour les grandes valeurs de `DoubleDelta`, et amélioration de l’encodage `DoubleDelta` pour les données aléatoires avec `Int32`. [#5998](https://github.com/ClickHouse/ClickHouse/pull/5998) ([Vasily Nemkov](https://github.com/Enmk))
* Correction de la surestimation de `max_rows_to_read` si le paramètre `merge_tree_uniform_read_distribution` est défini sur 0. [#6019](https://github.com/ClickHouse/ClickHouse/pull/6019) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="improvement">
  #### Amélioration
</div>

* Lève une exception si le fichier `config.d` n’a pas l’élément racine correspondant à celui du fichier de configuration [#6123](https://github.com/ClickHouse/ClickHouse/pull/6123) ([dimarub2000](https://github.com/dimarub2000))

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Optimisation de `count()` : utilise désormais la plus petite colonne (si possible). [#6028](https://github.com/ClickHouse/ClickHouse/pull/6028) ([Amos Bird](https://github.com/amosbird))

<div id="buildtestingpackaging-improvement-5">
  #### Amélioration de la compilation/des tests/du packaging
</div>

* Signaler l’utilisation mémoire dans les tests de performance. [#5899](https://github.com/ClickHouse/ClickHouse/pull/5899) ([akuzm](https://github.com/akuzm))
* Corriger la compilation avec `libcxx` externe [#6010](https://github.com/ClickHouse/ClickHouse/pull/6010) ([Ivan](https://github.com/abyss7))
* Corriger la compilation partagée avec la bibliothèque `rdkafka` [#6101](https://github.com/ClickHouse/ClickHouse/pull/6101) ([Ivan](https://github.com/abyss7))

<div id="clickhouse-release-19-11">
  ## Version de ClickHouse 19.11
</div>

<div id="clickhouse-release-19-11-13-74-2019-11-01">
  ### Version de ClickHouse 19.11.13.74, 2019-11-01
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’un plantage rare dans `ALTER MODIFY COLUMN` et lors d’une fusion verticale lorsque l’une des parts fusionnées/modifiées est vide (0 ligne). [#6780](https://github.com/ClickHouse/ClickHouse/pull/6780) ([alesapin](https://github.com/alesapin))
* Mise à jour manuelle de `SIMDJSON`. Cela corrige un risque de saturation des fichiers stderr par de faux messages de diagnostic json. [#7548](https://github.com/ClickHouse/ClickHouse/pull/7548) ([Alexander Kazakov](https://github.com/Akazz))
* Correction d’un bug lié à l’extension de fichier `mrk` pour les mutations ([alesapin](https://github.com/alesapin))

<div id="clickhouse-release-19-11-12-69-2019-10-02">
  ### Version de ClickHouse 19.11.12.69, 2019-10-02
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’une dégradation des performances de l’analyse des index sur des clés complexes dans de grandes tables. Cela corrige [#6924](https://github.com/ClickHouse/ClickHouse/issues/6924). [#7075](https://github.com/ClickHouse/ClickHouse/pull/7075) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Évite un SIGSEGV rare lors de l’envoi de données dans des tables utilisant le moteur 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))
* Correction de `Unknown identifier` en présence de plusieurs jointures. Cela corrige [#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">
  ### Version de ClickHouse 19.11.11.57, 2019-09-13
</div>

* Correction d'une erreur logique provoquant des erreurs de segmentation lors d'une sélection à partir d'un topic Kafka vide. [#6902](https://github.com/ClickHouse/ClickHouse/issues/6902) [#6909](https://github.com/ClickHouse/ClickHouse/pull/6909) ([Ivan](https://github.com/abyss7))
* Correction de la fonction `АrrayEnumerateUniqRanked` en présence de tableaux vides dans les paramètres. [#6928](https://github.com/ClickHouse/ClickHouse/pull/6928) ([proller](https://github.com/proller))

<div id="clickhouse-release-19-11-10-54-2019-09-10">
  ### Version de ClickHouse 19.11.10.54, 2019-09-10
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Stocke manuellement les offsets des messages Kafka afin de pouvoir tous les valider en une seule fois pour l’ensemble des partitions. Corrige une duplication potentielle dans le scénario « un consommateur - plusieurs partitions ». [#6872](https://github.com/ClickHouse/ClickHouse/pull/6872) ([Ivan](https://github.com/abyss7))

<div id="clickhouse-release-19-11-9-52-2019-09-6">
  ### Version de ClickHouse 19.11.9.52, 2019-09-6
</div>

* Amélioration de la gestion des erreurs dans les dictionnaires de type cache. [#6737](https://github.com/ClickHouse/ClickHouse/pull/6737) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction d’un bug dans la fonction `arrayEnumerateUniqRanked`. [#6779](https://github.com/ClickHouse/ClickHouse/pull/6779) ([proller](https://github.com/proller))
* Correction de la fonction `JSONExtract` lors de l’extraction d’un `Tuple` depuis du JSON. [#6718](https://github.com/ClickHouse/ClickHouse/pull/6718) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction d’une possible perte de données après une requête `ALTER DELETE` sur une table avec un index de saut de données. [#6224](https://github.com/ClickHouse/ClickHouse/issues/6224) [#6282](https://github.com/ClickHouse/ClickHouse/pull/6282) ([Nikita Vasilev](https://github.com/nikvas0))
* Correction du test de performance. [#6392](https://github.com/ClickHouse/ClickHouse/pull/6392) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Parquet : correction de la lecture des colonnes booléennes. [#6579](https://github.com/ClickHouse/ClickHouse/pull/6579) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction du comportement erroné de la fonction `nullIf` pour les arguments constants. [#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))
* Correction du problème de duplication des messages Kafka lors d’un redémarrage normal du serveur. [#6597](https://github.com/ClickHouse/ClickHouse/pull/6597) ([Ivan](https://github.com/abyss7))
* Correction d’un problème où un `ALTER UPDATE` ou `ALTER DELETE` long pouvait empêcher l’exécution des fusions régulières. Désormais, les mutations ne s’exécutent pas s’il n’y a pas assez de threads libres. [#6502](https://github.com/ClickHouse/ClickHouse/issues/6502) [#6617](https://github.com/ClickHouse/ClickHouse/pull/6617) ([tavplubix](https://github.com/tavplubix))
* Correction d’une erreur lors du traitement de "timezone" dans le fichier de configuration du serveur. [#6709](https://github.com/ClickHouse/ClickHouse/pull/6709) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction des tests Kafka. [#6805](https://github.com/ClickHouse/ClickHouse/pull/6805) ([Ivan](https://github.com/abyss7))

<div id="security-fix">
  #### Correctif de sécurité
</div>

* Si un attaquant dispose d’un accès en écriture à ZooKeeper et est en mesure d’exécuter un serveur personnalisé accessible sur le réseau où s’exécute ClickHouse, il peut créer un serveur malveillant conçu sur mesure, se faire passer pour une réplique de ClickHouse et l’enregistrer dans ZooKeeper. Lorsqu’une autre réplique récupère une partie de données auprès de la réplique malveillante, celle-ci peut forcer clickhouse-server à écrire dans un chemin arbitraire du système de fichiers. Découvert par Eldar Zaitov, équipe de sécurité de l’information chez 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">
  ### Version de ClickHouse 19.11.8.46, 2019-08-22
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction de la requête `ALTER TABLE ... UPDATE` pour les tables avec `enable_mixed_granularity_parts=1`. [#6543](https://github.com/ClickHouse/ClickHouse/pull/6543) ([alesapin](https://github.com/alesapin))
* Correction d'une NPE lors de l'utilisation de la clause IN avec une sous-requête contenant un tuple. [#6125](https://github.com/ClickHouse/ClickHouse/issues/6125) [#6550](https://github.com/ClickHouse/ClickHouse/pull/6550) ([tavplubix](https://github.com/tavplubix))
* Correction d'un problème où une réplique obsolète, lorsqu'elle redevient active, peut encore contenir des parties de données supprimées par DROP PARTITION. [#6522](https://github.com/ClickHouse/ClickHouse/issues/6522) [#6523](https://github.com/ClickHouse/ClickHouse/pull/6523) ([tavplubix](https://github.com/tavplubix))
* Correction d'un problème d'analyse des CSV [#6426](https://github.com/ClickHouse/ClickHouse/issues/6426) [#6559](https://github.com/ClickHouse/ClickHouse/pull/6559) ([tavplubix](https://github.com/tavplubix))
* Correction d'une data race dans la table system.parts et la requête ALTER. Cela corrige [#6245](https://github.com/ClickHouse/ClickHouse/issues/6245). [#6513](https://github.com/ClickHouse/ClickHouse/pull/6513) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'un code erroné dans les mutations pouvant entraîner une corruption mémoire. Correction d'un segfault lors de la lecture à l'adresse `0x14c0`, pouvant se produire en raison d'opérations `DROP TABLE` et `SELECT` concurrentes sur `system.parts` ou `system.parts_columns`. Correction d'une condition de concurrence dans la préparation des requêtes de mutation. Correction d'un interblocage causé par `OPTIMIZE` sur des tables Replicated et des opérations de modification concurrentes comme des 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">
  ### Version de ClickHouse 19.11.7.40, 2019-08-14
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* L’intégration Kafka a été corrigée dans cette version.
* Correction d’un segfault lors de l’utilisation de `arrayReduce` avec des arguments constants. [#6326](https://github.com/ClickHouse/ClickHouse/pull/6326) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de la monotonie de `toFloat()`. [#6374](https://github.com/ClickHouse/ClickHouse/pull/6374) ([dimarub2000](https://github.com/dimarub2000))
* Correction d’un segfault avec `optimize_skip_unused_shards` activé et une clé de sharding manquante. [#6384](https://github.com/ClickHouse/ClickHouse/pull/6384) ([CurtizJ](https://github.com/CurtizJ))
* Correction de la logique de la fonction `arrayEnumerateUniqRanked`. [#6423](https://github.com/ClickHouse/ClickHouse/pull/6423) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Suppression de la journalisation détaillée superflue du handler MySQL. [#6389](https://github.com/ClickHouse/ClickHouse/pull/6389) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un comportement incorrect et de segfaults possibles dans les fonctions d’agrégation `topK` et `topKWeighted`. [#6404](https://github.com/ClickHouse/ClickHouse/pull/6404) ([CurtizJ](https://github.com/CurtizJ))
* Les colonnes virtuelles ne sont plus exposées dans la table `system.columns`. Cela est nécessaire pour la rétrocompatibilité. [#6406](https://github.com/ClickHouse/ClickHouse/pull/6406) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug d’allocation mémoire pour les champs de type chaîne dans un dictionnaire cache à clés complexes. [#6447](https://github.com/ClickHouse/ClickHouse/pull/6447) ([alesapin](https://github.com/alesapin))
* Correction d’un bug lors de l’activation de la granularité adaptative pendant la création d’une nouvelle réplique pour une table `Replicated*MergeTree`. [#6452](https://github.com/ClickHouse/ClickHouse/pull/6452) ([alesapin](https://github.com/alesapin))
* Correction d’une boucle infinie lors de la lecture des messages Kafka. [#6354](https://github.com/ClickHouse/ClickHouse/pull/6354) ([abyss7](https://github.com/abyss7))
* Correction de la possibilité qu’une requête spécialement conçue provoque un plantage du serveur en raison d’un débordement de pile dans l’analyseur SQL, ainsi que de la possibilité d’un débordement de pile dans les tables `Merge` et `Distributed` [#6433](https://github.com/ClickHouse/ClickHouse/pull/6433) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une erreur d’encodage Gorilla sur de petites séquences. [#6444](https://github.com/ClickHouse/ClickHouse/pull/6444) ([Enmk](https://github.com/Enmk))

<div id="improvement">
  #### Amélioration
</div>

* Permet à l’utilisateur de redéfinir les paramètres `poll_interval` et `idle_connection_timeout` au niveau de la connexion. [#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">
  ### Version de ClickHouse 19.11.5.28, 2019-08-05
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’un possible blocage des requêtes lorsque le serveur est surchargé. [#6301](https://github.com/ClickHouse/ClickHouse/pull/6301) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une FPE dans la fonction yandexConsistentHash. Cela corrige [#6304](https://github.com/ClickHouse/ClickHouse/issues/6304). [#6126](https://github.com/ClickHouse/ClickHouse/pull/6126) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug dans la conversion des types `LowCardinality` dans `AggregateFunctionFactory`. Cela corrige [#6257](https://github.com/ClickHouse/ClickHouse/issues/6257). [#6281](https://github.com/ClickHouse/ClickHouse/pull/6281) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction de l’interprétation des paramètres `bool` à partir des chaînes `true` et `false` dans les fichiers de configuration. [#6278](https://github.com/ClickHouse/ClickHouse/pull/6278) ([alesapin](https://github.com/alesapin))
* Correction d’un bug rare lié à des en-têtes de flux incompatibles dans les requêtes sur une table `Distributed` basée sur une table `MergeTree`, lorsqu’une partie de `WHERE` est déplacée vers `PREWHERE`. [#6236](https://github.com/ClickHouse/ClickHouse/pull/6236) ([alesapin](https://github.com/alesapin))
* Correction d’un dépassement de capacité lors de la division entière d’un type signé par un type non signé. Cela corrige [#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">
  #### Changement incompatible avec les versions antérieures
</div>

* `Kafka` est toujours en panne.

<div id="clickhouse-release-19-11-4-24-2019-08-01">
  ### Version de ClickHouse 19.11.4.24, 2019-08-01
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’un bug lors de l’écriture des marques des index secondaires avec granularité adaptative. [#6126](https://github.com/ClickHouse/ClickHouse/pull/6126) ([alesapin](https://github.com/alesapin))
* Correction des modificateurs `WITH ROLLUP` et `WITH CUBE` de `GROUP BY` avec agrégation à deux niveaux. [#6225](https://github.com/ClickHouse/ClickHouse/pull/6225) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’un blocage dans la fonction `JSONExtractRaw`. Correction de [#6195](https://github.com/ClickHouse/ClickHouse/issues/6195) [#6198](https://github.com/ClickHouse/ClickHouse/pull/6198) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un segfault dans ExternalLoader::reloadOutdated(). [#6082](https://github.com/ClickHouse/ClickHouse/pull/6082) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction du cas où le serveur peut fermer les sockets d’écoute sans s’arrêter et continuer à traiter les requêtes restantes. Vous pouvez vous retrouver avec deux processus clickhouse-server en cours d’exécution. Il arrive aussi que le serveur renvoie une erreur `bad_function_call` pour les requêtes restantes. [#6231](https://github.com/ClickHouse/ClickHouse/pull/6231) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une condition inutile et incorrecte sur le champ de mise à jour pour le chargement initial des dictionnaires externes via ODBC, MySQL, ClickHouse et HTTP. Cela corrige [#6069](https://github.com/ClickHouse/ClickHouse/issues/6069) [#6083](https://github.com/ClickHouse/ClickHouse/pull/6083) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une exception injustifiée lors de la conversion de `LowCardinality(Nullable)` vers une colonne non `Nullable` lorsqu’elle ne contient pas de valeurs NULL (par ex. dans une requête comme `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))
* Correction du résultat non déterministe de la fonction d’agrégation "uniq" dans des cas extrêmement rares. Le bug était présent dans toutes les versions de ClickHouse. [#6058](https://github.com/ClickHouse/ClickHouse/pull/6058) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Segfault lors de la définition d’un CIDR légèrement trop élevé dans la fonction `IPv6CIDRToRange`. [#6068](https://github.com/ClickHouse/ClickHouse/pull/6068) ([Guillaume Tassery](https://github.com/YiuRULE))
* Correction d’une petite fuite mémoire lorsque le serveur génère de nombreuses exceptions depuis de nombreux contextes différents. [#6144](https://github.com/ClickHouse/ClickHouse/pull/6144) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction du cas où le consumer était mis en pause avant l’abonnement et n’était pas repris ensuite. [#6075](https://github.com/ClickHouse/ClickHouse/pull/6075) ([Ivan](https://github.com/abyss7)) Notez que Kafka est défectueux dans cette version.
* Nettoyage du buffer de données Kafka de l’opération de lecture précédente, qui s’était terminée par une erreur [#6026](https://github.com/ClickHouse/ClickHouse/pull/6026) ([Nikolay](https://github.com/bopohaa)) Notez que Kafka est défectueux dans cette version.
* Puisque `StorageMergeTree::background_task_handle` est initialisé dans `startup()`, `MergeTreeBlockOutputStream::write()` peut tenter de l’utiliser avant son initialisation. Il suffit de vérifier s’il est bien initialisé. [#6080](https://github.com/ClickHouse/ClickHouse/pull/6080) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Ajout des paquets officiels au format `rpm`. [#5740](https://github.com/ClickHouse/ClickHouse/pull/5740) ([proller](https://github.com/proller)) ([alesapin](https://github.com/alesapin))
* Ajout de la possibilité de générer des paquets `.rpm` et `.tgz` avec le script `packager`. [#5769](https://github.com/ClickHouse/ClickHouse/pull/5769) ([alesapin](https://github.com/alesapin))
* Corrections apportées au système de build « Arcadia ». [#6223](https://github.com/ClickHouse/ClickHouse/pull/6223) ([proller](https://github.com/proller))

<div id="backward-incompatible-change">
  #### Changement incompatible avec les versions antérieures
</div>

* `Kafka` ne fonctionne pas dans cette version.

<div id="clickhouse-release-19-11-3-11-2019-07-18">
  ### Version de ClickHouse 19.11.3.11, 2019-07-18
</div>

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Ajout de la prise en charge des requêtes préparées. [#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))
* Codecs de colonnes `DoubleDelta` et `Gorilla` [#5600](https://github.com/ClickHouse/ClickHouse/pull/5600) ([Vasily Nemkov](https://github.com/Enmk))
* Ajout du paramètre `os_thread_priority`, qui permet de contrôler la valeur « nice » des threads de traitement des requêtes, utilisée par l’OS pour ajuster la priorité de planification dynamique. Son utilisation nécessite les capabilities `CAP_SYS_NICE`. Cela implémente [#5858](https://github.com/ClickHouse/ClickHouse/issues/5858) [#5909](https://github.com/ClickHouse/ClickHouse/pull/5909) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout des colonnes `_topic`, `_offset`, `_key` pour le moteur Kafka [#5382](https://github.com/ClickHouse/ClickHouse/pull/5382) ([Ivan](https://github.com/abyss7)) Notez que Kafka ne fonctionne pas dans cette version.
* Ajout du combinateur de fonctions d’agrégation `-Resample` [#5590](https://github.com/ClickHouse/ClickHouse/pull/5590) ([hcz](https://github.com/hczhcz))
* Fonctions d’agrégation `groupArrayMovingSum(win_size)(x)` et `groupArrayMovingAvg(win_size)(x)`, qui calculent une somme/moyenne glissante avec ou sans limitation de la taille de la fenêtre. [#5595](https://github.com/ClickHouse/ClickHouse/pull/5595) ([inv2004](https://github.com/inv2004))
* Ajout du synonyme `arrayFlatten` \<-> `flatten` [#5764](https://github.com/ClickHouse/ClickHouse/pull/5764) ([hcz](https://github.com/hczhcz))
* Intégration de la fonction H3 `geoToH3` d’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">
  #### Correction de bugs
</div>

* Implémentation d’un cache DNS avec mise à jour asynchrone. Un thread séparé résout tous les hôtes et met à jour le cache DNS selon une période définie (paramètre `dns_cache_update_period`). Cela devrait aider lorsque l’IP des hôtes change fréquemment. [#5857](https://github.com/ClickHouse/ClickHouse/pull/5857) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’un segfault dans le codec `Delta` qui affecte les colonnes contenant des valeurs de moins de 32 bits. Le bug entraînait une corruption aléatoire de la mémoire. [#5786](https://github.com/ClickHouse/ClickHouse/pull/5786) ([alesapin](https://github.com/alesapin))
* Correction d’un segfault lors d’une fusion TTL avec des colonnes non physiques dans le bloc. [#5819](https://github.com/ClickHouse/ClickHouse/pull/5819) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’un bug rare lors de la vérification d’une part avec une colonne `LowCardinality`. Auparavant, `checkDataPart` échouait systématiquement pour une part avec une colonne `LowCardinality`. [#5832](https://github.com/ClickHouse/ClickHouse/pull/5832) ([alesapin](https://github.com/alesapin))
* Évite les connexions bloquées lorsque le thread pool du serveur est saturé. C’est important pour les connexions provenant de la table function `remote` ou les connexions vers un shard sans répliques lorsqu’un connection timeout long est défini. Cela corrige [#5878](https://github.com/ClickHouse/ClickHouse/issues/5878) [#5881](https://github.com/ClickHouse/ClickHouse/pull/5881) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Prise en charge des arguments constants pour la fonction `evalMLModel`. Cela corrige [#5817](https://github.com/ClickHouse/ClickHouse/issues/5817) [#5820](https://github.com/ClickHouse/ClickHouse/pull/5820) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction du problème où ClickHouse détermine le fuseau horaire par défaut comme `UCT` au lieu de `UTC`. Cela corrige [#5804](https://github.com/ClickHouse/ClickHouse/issues/5804). [#5828](https://github.com/ClickHouse/ClickHouse/pull/5828) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un underflow du buffer dans `visitParamExtractRaw`. Cela corrige [#5901](https://github.com/ClickHouse/ClickHouse/issues/5901) [#5902](https://github.com/ClickHouse/ClickHouse/pull/5902) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Désormais, les requêtes distribuées `DROP/ALTER/TRUNCATE/OPTIMIZE ON CLUSTER` seront exécutées directement sur la réplique leader. [#5757](https://github.com/ClickHouse/ClickHouse/pull/5757) ([alesapin](https://github.com/alesapin))
* Correction de `coalesce` pour `ColumnConst` avec `ColumnNullable`, ainsi que des modifications associées. [#5755](https://github.com/ClickHouse/ClickHouse/pull/5755) ([Artem Zuikov](https://github.com/4ertus2))
* Correction de `ReadBufferFromKafkaConsumer` afin qu’il continue à lire les nouveaux messages après `commit()`, même s’il était auparavant bloqué [#5852](https://github.com/ClickHouse/ClickHouse/pull/5852) ([Ivan](https://github.com/abyss7))
* Correction des résultats des JOIN `FULL` et `RIGHT` lors d’une jointure sur des clés `Nullable` dans la table de droite. [#5859](https://github.com/ClickHouse/ClickHouse/pull/5859) ([Artem Zuikov](https://github.com/4ertus2))
* Correction possible d’une mise en veille infinie des requêtes de faible priorité. [#5842](https://github.com/ClickHouse/ClickHouse/pull/5842) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une race condition qui faisait que certaines requêtes pouvaient ne pas apparaître dans query\_log après la requête `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))
* Correction de l’avertissement ASan `heap-use-after-free` dans ClusterCopier, causé par un watch qui tentait d’utiliser un objet copier déjà supprimé. [#5871](https://github.com/ClickHouse/ClickHouse/pull/5871) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction d’un pointeur `StringRef` incorrect renvoyé par certaines implémentations de `IColumn::deserializeAndInsertFromArena`. Ce bogue n’affectait que les tests unitaires. [#5973](https://github.com/ClickHouse/ClickHouse/pull/5973) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Empêche les colonnes source et intermédiaires d’ARRAY JOIN de masquer des colonnes portant le même nom. [#5941](https://github.com/ClickHouse/ClickHouse/pull/5941) ([Artem Zuikov](https://github.com/4ertus2))
* Correction des requêtes insert et select vers le moteur MySQL avec la syntaxe de guillemets d’identifiants propre à MySQL. [#5704](https://github.com/ClickHouse/ClickHouse/pull/5704) ([Winter Zhang](https://github.com/zhang2014))
* La requête `CHECK TABLE` fonctionne désormais avec la famille de moteurs MergeTree. Elle renvoie le statut de la vérification et, le cas échéant, un message pour chaque part (ou fichier dans le cas de moteurs plus simples). Correction également d’un bogue lors de la récupération d’une part corrompue. [#5865](https://github.com/ClickHouse/ClickHouse/pull/5865) ([alesapin](https://github.com/alesapin))
* Correction du runtime SPLIT\_SHARED\_LIBRARIES [#5793](https://github.com/ClickHouse/ClickHouse/pull/5793) ([Danila Kutenin](https://github.com/danlark1))
* Correction de l’initialisation du fuseau horaire lorsque `/etc/localtime` est un lien symbolique relatif comme `../usr/share/zoneinfo/Asia/Istanbul` [#5922](https://github.com/ClickHouse/ClickHouse/pull/5922) ([alexey-milovidov](https://github.com/alexey-milovidov))
* clickhouse-copier : correction d’un use-after-free lors de l’arrêt [#5752](https://github.com/ClickHouse/ClickHouse/pull/5752) ([proller](https://github.com/proller))
* `simdjson` a été mis à jour. Correction du problème qui permettait d’analyser avec succès certains JSON invalides contenant des octets nuls. [#5938](https://github.com/ClickHouse/ClickHouse/pull/5938) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction du blocage à l’arrêt de SystemLogs [#5802](https://github.com/ClickHouse/ClickHouse/pull/5802) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’un blocage lorsque la condition dans invalidate\_query dépend d’un dictionnaire. [#6011](https://github.com/ClickHouse/ClickHouse/pull/6011) ([Vitaly Baranov](https://github.com/vitlibar))

<div id="improvement">
  #### Amélioration
</div>

* Autoriser les adresses non résolubles dans la configuration du cluster. Elles seront considérées comme indisponibles, et leur résolution sera retentée à chaque tentative de connexion. C’est particulièrement utile pour Kubernetes. Cela corrige [#5714](https://github.com/ClickHouse/ClickHouse/issues/5714) [#5924](https://github.com/ClickHouse/ClickHouse/pull/5924) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Fermer les connexions TCP inactives (avec un timeout d’une heure par défaut). C’est particulièrement important pour les grands clusters avec plusieurs tables distribuées sur chaque serveur, car chaque serveur peut conserver un pool de connexions vers tous les autres serveurs et, après un pic de concurrence des requêtes, ces connexions peuvent rester inutilisées. Cela corrige [#5879](https://github.com/ClickHouse/ClickHouse/issues/5879) [#5880](https://github.com/ClickHouse/ClickHouse/pull/5880) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Amélioration de la qualité de la fonction `topK`. Le comportement de l’ensemble SavingSpace a été modifié pour supprimer le dernier élément si le nouvel élément a un poids supérieur. [#5833](https://github.com/ClickHouse/ClickHouse/issues/5833) [#5850](https://github.com/ClickHouse/ClickHouse/pull/5850) ([Guillaume Tassery](https://github.com/YiuRULE))
* Les fonctions d’URL pour manipuler les domaines fonctionnent désormais aussi avec des URL incomplètes sans scheme [#5725](https://github.com/ClickHouse/ClickHouse/pull/5725) ([alesapin](https://github.com/alesapin))
* Ajout de checksums à la table `system.parts_columns`. [#5874](https://github.com/ClickHouse/ClickHouse/pull/5874) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))
* Ajout du type de données `Enum` comme synonyme de `Enum8` ou `Enum16`. [#5886](https://github.com/ClickHouse/ClickHouse/pull/5886) ([dimarub2000](https://github.com/dimarub2000))
* Variante de transposition complète des bits pour le codec `T64`. Cela peut améliorer la Compression avec `zstd`. [#5742](https://github.com/ClickHouse/ClickHouse/pull/5742) ([Artem Zuikov](https://github.com/4ertus2))
* La condition sur la fonction `startsWith` peut désormais utiliser la clé primaire. Cela corrige [#5310](https://github.com/ClickHouse/ClickHouse/issues/5310) et [#5882](https://github.com/ClickHouse/ClickHouse/issues/5882) [#5919](https://github.com/ClickHouse/ClickHouse/pull/5919) ([dimarub2000](https://github.com/dimarub2000))
* Autoriser l’utilisation de `clickhouse-copier` avec une topologie de cluster à réplication croisée en permettant un nom de database vide. [#5745](https://github.com/ClickHouse/ClickHouse/pull/5745) ([nvartolomei](https://github.com/nvartolomei))
* Utiliser `UTC` comme timezone par défaut sur un système sans `tzdata` (par ex. un conteneur Docker minimal). Avant ce correctif, le message d’erreur `Could not determine local time zone` s’affichait et le server ou le client refusait de démarrer. [#5827](https://github.com/ClickHouse/ClickHouse/pull/5827) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Rétablissement de la prise en charge d’un argument en virgule flottante dans la fonction `quantileTiming` pour assurer la rétrocompatibilité. [#5911](https://github.com/ClickHouse/ClickHouse/pull/5911) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Afficher dans les messages d’erreur quelle table a une colonne manquante. [#5768](https://github.com/ClickHouse/ClickHouse/pull/5768) ([Ivan](https://github.com/abyss7))
* Interdire l’exécution d’une query avec le même query\_id par différents utilisateurs [#5430](https://github.com/ClickHouse/ClickHouse/pull/5430) ([proller](https://github.com/proller))
* Code plus robuste pour l’envoi de metrics à Graphite. Il fonctionnera même pendant une longue opération multiple `RENAME TABLE`. [#5875](https://github.com/ClickHouse/ClickHouse/pull/5875) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Des messages d’erreur plus explicites seront affichés lorsque ThreadPool ne parvient pas à planifier l’exécution d’une tâche. Cela corrige [#5305](https://github.com/ClickHouse/ClickHouse/issues/5305) [#5801](https://github.com/ClickHouse/ClickHouse/pull/5801) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Inversion de la logique de ngramSearch pour le rendre plus intuitif [#5807](https://github.com/ClickHouse/ClickHouse/pull/5807) ([Danila Kutenin](https://github.com/danlark1))
* Ajout de l’analyse de l’utilisateur dans le builder du HDFS engine [#5946](https://github.com/ClickHouse/ClickHouse/pull/5946) ([akonyaev90](https://github.com/akonyaev90))
* Mise à jour de la valeur par défaut du `paramètre max_ast_elements` [#5933](https://github.com/ClickHouse/ClickHouse/pull/5933) ([Artem Konovalov](https://github.com/izebit))
* Ajout de la notion de paramètres obsolètes. Le paramètre obsolète `allow_experimental_low_cardinality_type` peut être utilisé sans aucun effet. [0f15c01c6802f7ce1a1494c12c846be8c98944cd](https://github.com/ClickHouse/ClickHouse/commit/0f15c01c6802f7ce1a1494c12c846be8c98944cd) [Alexey Milovidov](https://github.com/alexey-milovidov)

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Augmentation du nombre de streams utilisés pour exécuter des `SELECT` sur une table Merge, afin de répartir les threads plus uniformément. Ajout du paramètre `max_streams_multiplier_for_merge_tables`. Cela corrige [#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-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Ajout d’un test de rétrocompatibilité pour les interactions client-serveur avec différentes versions de ClickHouse. [#5868](https://github.com/ClickHouse/ClickHouse/pull/5868) ([alesapin](https://github.com/alesapin))
* Ajout des informations de couverture des tests dans chaque commit et pull request. [#5896](https://github.com/ClickHouse/ClickHouse/pull/5896) ([alesapin](https://github.com/alesapin))
* Compatibilité avec AddressSanitizer pour prendre en charge nos allocateurs personnalisés (`Arena` et `ArenaWithFreeLists`) afin d’améliorer le débogage des erreurs "use-after-free". [#5728](https://github.com/ClickHouse/ClickHouse/pull/5728) ([akuzm](https://github.com/akuzm))
* Passage à l’[implémentation LLVM de libunwind](https://github.com/llvm-mirror/libunwind) pour la gestion des exceptions C++ et l’affichage des traces de pile [#4828](https://github.com/ClickHouse/ClickHouse/pull/4828) ([Nikita Lapkov](https://github.com/laplab))
* Ajout de deux avertissements supplémentaires issus de -Weverything [#5923](https://github.com/ClickHouse/ClickHouse/pull/5923) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la possibilité de compiler ClickHouse avec Memory Sanitizer. [#3949](https://github.com/ClickHouse/ClickHouse/pull/3949) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un rapport ubsan concernant la fonction `bitTest` dans le test de fuzzing. [#5943](https://github.com/ClickHouse/ClickHouse/pull/5943) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Docker : ajout de la possibilité d’initialiser une instance ClickHouse nécessitant une authentification. [#5727](https://github.com/ClickHouse/ClickHouse/pull/5727) ([Korviakov Andrey](https://github.com/shurshun))
* Mise à jour de librdkafka vers la version 1.1.0 [#5872](https://github.com/ClickHouse/ClickHouse/pull/5872) ([Ivan](https://github.com/abyss7))
* Ajout d’un délai d’expiration global pour les tests d’intégration et désactivation de certains d’entre eux dans le code de test. [#5741](https://github.com/ClickHouse/ClickHouse/pull/5741) ([alesapin](https://github.com/alesapin))
* Correction de certains échecs de ThreadSanitizer. [#5854](https://github.com/ClickHouse/ClickHouse/pull/5854) ([akuzm](https://github.com/akuzm))
* L’option `--no-undefined` force l’éditeur de liens à vérifier l’existence de tous les noms externes lors de l’édition des liens. C’est très utile pour suivre les dépendances réelles entre les bibliothèques en mode de build fractionné. [#5855](https://github.com/ClickHouse/ClickHouse/pull/5855) ([Ivan](https://github.com/abyss7))
* Ajout d’un test de performance pour [#5797](https://github.com/ClickHouse/ClickHouse/issues/5797) [#5914](https://github.com/ClickHouse/ClickHouse/pull/5914) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de la compatibilité avec gcc-7. [#5840](https://github.com/ClickHouse/ClickHouse/pull/5840) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la prise en charge de gcc-9. Cela corrige [#5717](https://github.com/ClickHouse/ClickHouse/issues/5717) [#5774](https://github.com/ClickHouse/ClickHouse/pull/5774) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une erreur lorsque libunwind était lié incorrectement. [#5948](https://github.com/ClickHouse/ClickHouse/pull/5948) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de quelques avertissements signalés par PVS-Studio. [#5921](https://github.com/ClickHouse/ClickHouse/pull/5921) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la prise en charge initiale de l’analyseur statique `clang-tidy`. [#5806](https://github.com/ClickHouse/ClickHouse/pull/5806) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Conversion des macros d’endianness BSD/Linux ( 'be64toh' et 'htobe64') vers leurs équivalents Mac OS X [#5785](https://github.com/ClickHouse/ClickHouse/pull/5785) ([Fu Chen](https://github.com/fredchenbj))
* Amélioration du guide des tests d’intégration. [#5796](https://github.com/ClickHouse/ClickHouse/pull/5796) ([Vladimir Chebotarev](https://github.com/excitoon))
* Correction du build sur macOS + gcc9 [#5822](https://github.com/ClickHouse/ClickHouse/pull/5822) ([filimonov](https://github.com/filimonov))
* Correction d’une faute de frappe difficile à repérer : aggreAGte -> aggregate. [#5753](https://github.com/ClickHouse/ClickHouse/pull/5753) ([akuzm](https://github.com/akuzm))
* Correction du build sur FreeBSD [#5760](https://github.com/ClickHouse/ClickHouse/pull/5760) ([proller](https://github.com/proller))
* Ajout d’un lien vers la chaîne YouTube expérimentale sur le site web [#5845](https://github.com/ClickHouse/ClickHouse/pull/5845) ([Ivan Blinkov](https://github.com/blinkov))
* CMake : ajout d’une option pour les indicateurs de couverture : WITH\_COVERAGE [#5776](https://github.com/ClickHouse/ClickHouse/pull/5776) ([proller](https://github.com/proller))
* Correction de la taille initiale de certains PODArray inline. [#5787](https://github.com/ClickHouse/ClickHouse/pull/5787) ([akuzm](https://github.com/akuzm))
* clickhouse-server.postinst : correction de la détection de l’OS pour CentOS 6 [#5788](https://github.com/ClickHouse/ClickHouse/pull/5788) ([proller](https://github.com/proller))
* Ajout de la génération du paquet Arch Linux. [#5719](https://github.com/ClickHouse/ClickHouse/pull/5719) ([Vladimir Chebotarev](https://github.com/excitoon))
* Découpage de Common/config.h par bibliothèques (dbms) [#5715](https://github.com/ClickHouse/ClickHouse/pull/5715) ([proller](https://github.com/proller))
* Correctifs pour la plateforme de build "Arcadia" [#5795](https://github.com/ClickHouse/ClickHouse/pull/5795) ([proller](https://github.com/proller))
* Correctifs pour un build non conventionnel (gcc9, sans sous-modules) [#5792](https://github.com/ClickHouse/ClickHouse/pull/5792) ([proller](https://github.com/proller))
* Type explicite désormais requis dans unalignedStore, car cela s’est révélé source de bugs [#5791](https://github.com/ClickHouse/ClickHouse/pull/5791) ([akuzm](https://github.com/akuzm))
* Correction du build sur macOS [#5830](https://github.com/ClickHouse/ClickHouse/pull/5830) ([filimonov](https://github.com/filimonov))
* Test de performance de la nouvelle fonctionnalité JIT avec un jeu de données plus volumineux, comme demandé ici [#5263](https://github.com/ClickHouse/ClickHouse/issues/5263) [#5887](https://github.com/ClickHouse/ClickHouse/pull/5887) ([Guillaume Tassery](https://github.com/YiuRULE))
* Exécution des tests stateful dans le test de stress [12693e568722f11e19859742f56428455501fd2a](https://github.com/ClickHouse/ClickHouse/commit/12693e568722f11e19859742f56428455501fd2a) ([alesapin](https://github.com/alesapin))

<div id="backward-incompatible-change">
  #### Changement incompatible avec les versions antérieures
</div>

* `Kafka` est défectueux dans cette version.
* `adaptive_index_granularity` = 10MB est désormais activé par défaut pour les nouvelles tables `MergeTree`. Si vous avez créé de nouvelles tables MergeTree avec la version 19.11+, il sera impossible de revenir à une version antérieure à 19.6. [#5628](https://github.com/ClickHouse/ClickHouse/pull/5628) ([alesapin](https://github.com/alesapin))
* Suppression des dictionnaires embarqués obsolètes et non documentés utilisés par Yandex.Metrica. Les fonctions `OSIn`, `SEIn`, `OSToRoot`, `SEToRoot`, `OSHierarchy`, `SEHierarchy` ne sont plus disponibles. Si vous utilisez ces fonctions, écrivez à [clickhouse-feedback@yandex-team.com](mailto:clickhouse-feedback@yandex-team.com). Remarque : au dernier moment, nous avons décidé de conserver ces fonctions encore quelque temps. [#5780](https://github.com/ClickHouse/ClickHouse/pull/5780) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-10">
  ## Version de ClickHouse 19.10
</div>

<div id="clickhouse-release-19-10-1-5-2019-07-12">
  ### Version de ClickHouse 19.10.1.5, 2019-07-12
</div>

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Ajout d’un nouveau codec de colonne : `T64`. Conçu pour les colonnes (U)IntX/EnumX/Data(Time)/DecimalX. Il convient particulièrement aux colonnes dont les valeurs sont constantes ou varient dans une petite plage. Le codec lui-même permet d’agrandir ou de réduire le type de données sans recompression. [#5557](https://github.com/ClickHouse/ClickHouse/pull/5557) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout du moteur de base de données `MySQL`, qui permet d’afficher toutes les tables d’un serveur MySQL distant [#5599](https://github.com/ClickHouse/ClickHouse/pull/5599) ([Winter Zhang](https://github.com/zhang2014))
* Implémentation de `bitmapContains`. C’est deux fois plus rapide que `bitmapHasAny` si le second bitmap contient un seul élément. [#5535](https://github.com/ClickHouse/ClickHouse/pull/5535) ([Zhichang Yu](https://github.com/yuzhichang))
* Prise en charge de la fonction `crc32` (avec un comportement exactement identique à celui de MySQL ou PHP). Ne l’utilisez pas si vous avez besoin d’une fonction de hachage. [#5661](https://github.com/ClickHouse/ClickHouse/pull/5661) ([Remen Ivan](https://github.com/BHYCHIK))
* Implémentation des requêtes `SYSTEM START/STOP DISTRIBUTED SENDS` pour contrôler les insertions asynchrones dans les tables `Distributed`. [#4935](https://github.com/ClickHouse/ClickHouse/pull/4935) ([Winter Zhang](https://github.com/zhang2014))

<div id="bug-fix">
  #### Correction de bugs
</div>

* Ignorer les limites d’exécution des query et la taille maximale des parts dans les limites de fusion lors de l’exécution des mutations. [#5659](https://github.com/ClickHouse/ClickHouse/pull/5659) ([Anton Popov](https://github.com/CurtizJ))
* Corrige un bug pouvant entraîner la déduplication de blocs normaux (extrêmement rare) et l’insertion de blocs en double (plus fréquent). [#5549](https://github.com/ClickHouse/ClickHouse/pull/5549) ([alesapin](https://github.com/alesapin))
* Correction de la fonction `arrayEnumerateUniqRanked` pour les arguments contenant des Array vides [#5559](https://github.com/ClickHouse/ClickHouse/pull/5559) ([proller](https://github.com/proller))
* Ne pas s’abonner à des topics Kafka sans intention de consommer le moindre message. [#5698](https://github.com/ClickHouse/ClickHouse/pull/5698) ([Ivan](https://github.com/abyss7))
* Faire en sorte que le paramètre `join_use_nulls` soit sans effet pour les types qui ne peuvent pas être contenus dans Nullable [#5700](https://github.com/ClickHouse/ClickHouse/pull/5700) ([Olga Khvostikova](https://github.com/stavrolia))
* Correction des erreurs `Incorrect size of index granularity` [#5720](https://github.com/ClickHouse/ClickHouse/pull/5720) ([coraxster](https://github.com/coraxster))
* Correction du dépassement de capacité lors de la conversion de Float en Decimal [#5607](https://github.com/ClickHouse/ClickHouse/pull/5607) ([coraxster](https://github.com/coraxster))
* Vider le buffer lorsque le destructeur de `WriteBufferFromHDFS` est appelé. Cela corrige l’écriture dans `HDFS`. [#5684](https://github.com/ClickHouse/ClickHouse/pull/5684) ([Xindong Peng](https://github.com/eejoin))

<div id="improvement">
  #### Amélioration
</div>

* Les cellules vides dans `CSV` sont traitées comme des valeurs par défaut lorsque le paramètre `input_format_defaults_for_omitted_fields` est activé. [#5625](https://github.com/ClickHouse/ClickHouse/pull/5625) ([akuzm](https://github.com/akuzm))
* Chargement non bloquant des dictionnaires externes. [#5567](https://github.com/ClickHouse/ClickHouse/pull/5567) ([Vitaly Baranov](https://github.com/vitlibar))
* Les délais d’expiration réseau peuvent être modifiés dynamiquement pour des connexions déjà établies, conformément aux paramètres. [#4558](https://github.com/ClickHouse/ClickHouse/pull/4558) ([Konstantin Podshumok](https://github.com/podshumok))
* Utilisation de "public\_suffix\_list" pour les fonctions `firstSignificantSubdomain`, `cutToFirstSignificantSubdomain`. Une table de hachage parfaite générée par `gperf` est utilisée avec une liste générée à partir du fichier : [https://publicsuffix.org/list/public\&#95;suffix\&#95;list.dat](https://publicsuffix.org/list/public\&#95;suffix\&#95;list.dat). (par exemple, le domaine `ac.uk` est désormais reconnu comme non significatif). [#5030](https://github.com/ClickHouse/ClickHouse/pull/5030) ([Guillaume Tassery](https://github.com/YiuRULE))
* Adoption du type de données `IPv6` dans les tables système ; unification des colonnes d’informations client dans `system.processes` et `system.query_log` [#5640](https://github.com/ClickHouse/ClickHouse/pull/5640) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Utilisation de sessions pour les connexions avec le protocole de compatibilité MySQL. #5476 [#5646](https://github.com/ClickHouse/ClickHouse/pull/5646) ([Yuriy Baranov](https://github.com/yurriy))
* Prise en charge d’un plus grand nombre de requêtes `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))
* Prise en charge de la section `<logger>` dans le fichier de configuration `clickhouse-local`. [#5540](https://github.com/ClickHouse/ClickHouse/pull/5540) ([proller](https://github.com/proller))
* Autorise l’exécution de requêtes avec la fonction de table `remote` dans `clickhouse-local` [#5627](https://github.com/ClickHouse/ClickHouse/pull/5627) ([proller](https://github.com/proller))

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Ajout de la possibilité d’écrire le repère final à la fin des colonnes MergeTree. Cela permet d’éviter des lectures inutiles pour les clés situées en dehors de la plage de données de la table. Cette fonctionnalité est activée uniquement si la granularité d’index adaptative est utilisée. [#5624](https://github.com/ClickHouse/ClickHouse/pull/5624) ([alesapin](https://github.com/alesapin))
* Amélioration des performances des tables MergeTree sur des systèmes de fichiers très lents en réduisant le nombre d’appels système `stat`. [#5648](https://github.com/ClickHouse/ClickHouse/pull/5648) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une dégradation des performances de lecture des tables MergeTree introduite dans la version 19.6. Corrige #5631. [#5633](https://github.com/ClickHouse/ClickHouse/pull/5633) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Implémentation de `TestKeeper` en tant qu’implémentation de l’interface ZooKeeper utilisée pour les tests [#5643](https://github.com/ClickHouse/ClickHouse/pull/5643) ([alexey-milovidov](https://github.com/alexey-milovidov)) ([levushkin aleksej](https://github.com/alexey-milovidov))
* Désormais, les tests `.sql` peuvent être exécutés de manière isolée par serveur, en parallèle, avec une base de données générée aléatoirement. Cela permet de les exécuter plus rapidement, d’ajouter de nouveaux tests avec des configurations serveur personnalisées et de garantir que les différents tests n’interfèrent pas les uns avec les autres. [#5554](https://github.com/ClickHouse/ClickHouse/pull/5554) ([Ivan](https://github.com/abyss7))
* Suppression de `<name>` et de `<metrics>` des tests de performance [#5672](https://github.com/ClickHouse/ClickHouse/pull/5672) ([Olga Khvostikova](https://github.com/stavrolia))
* Correction du test de performance « select\_format » pour les formats `Pretty` [#5642](https://github.com/ClickHouse/ClickHouse/pull/5642) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="clickhouse-release-19-9">
  ## Version 19.9 de ClickHouse
</div>

<div id="clickhouse-release-19-9-3-31-2019-07-05">
  ### Version de ClickHouse 19.9.3.31, 2019-07-05
</div>

<div id="bug-fix">
  #### Correction de bugs
</div>

* Correction d’un segfault dans le codec Delta, qui affectait les colonnes contenant des valeurs de moins de 32 bits. Ce bug entraînait une corruption aléatoire de la mémoire. [#5786](https://github.com/ClickHouse/ClickHouse/pull/5786) ([alesapin](https://github.com/alesapin))
* Correction d’un bug rare lors de la vérification d’une part avec une colonne LowCardinality. [#5832](https://github.com/ClickHouse/ClickHouse/pull/5832) ([alesapin](https://github.com/alesapin))
* Correction d’un segfault dans une fusion TTL avec des colonnes non physiques dans un bloc. [#5819](https://github.com/ClickHouse/ClickHouse/pull/5819) ([Anton Popov](https://github.com/CurtizJ))
* Correction d’une mise en veille potentiellement infinie des requêtes de faible priorité. [#5842](https://github.com/ClickHouse/ClickHouse/pull/5842) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de la façon dont ClickHouse détermine le fuseau horaire par défaut, avec UCT au lieu de UTC. [#5828](https://github.com/ClickHouse/ClickHouse/pull/5828) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug concernant l’exécution des requêtes distribuées DROP/ALTER/TRUNCATE/OPTIMIZE ON CLUSTER sur une réplique follower avant la réplique leader. Désormais, elles seront exécutées directement sur la réplique leader. [#5757](https://github.com/ClickHouse/ClickHouse/pull/5757) ([alesapin](https://github.com/alesapin))
* Correction d’une condition de concurrence qui faisait que certaines requêtes pouvaient ne pas apparaître immédiatement dans query\_log après une requête SYSTEM FLUSH LOGS. [#5685](https://github.com/ClickHouse/ClickHouse/pull/5685) ([Anton Popov](https://github.com/CurtizJ))
* Ajout de la prise en charge jusque-là absente des arguments constants pour la fonction `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">
  ### Version de ClickHouse 19.9.2.4, 2019-06-24
</div>

<div id="new-feature">
  #### Nouvelle fonctionnalité
</div>

* Afficher des informations sur les parties gelées dans la table `system.parts`. [#5471](https://github.com/ClickHouse/ClickHouse/pull/5471) ([proller](https://github.com/proller))
* Demander le mot de passe du client au lancement de clickhouse-client dans un TTY s'il n'est pas défini dans les arguments [#5092](https://github.com/ClickHouse/ClickHouse/pull/5092) ([proller](https://github.com/proller))
* Implémenter les fonctions `dictGet` et `dictGetOrDefault` pour les types Decimal. [#5394](https://github.com/ClickHouse/ClickHouse/pull/5394) ([Artem Zuikov](https://github.com/4ertus2))

<div id="improvement">
  #### Amélioration
</div>

* Init Debian : ajout d’un délai d’attente pour l’arrêt du service [#5522](https://github.com/ClickHouse/ClickHouse/pull/5522) ([proller](https://github.com/proller))
* Ajout d’un paramètre interdisant par défaut la création de tables avec des types suspects pour LowCardinality [#5448](https://github.com/ClickHouse/ClickHouse/pull/5448) ([Olga Khvostikova](https://github.com/stavrolia))
* Les fonctions de régression renvoient les poids du modèle lorsqu’elles ne sont pas utilisées comme State dans la fonction `evalMLMethod`. [#5411](https://github.com/ClickHouse/ClickHouse/pull/5411) ([Quid37](https://github.com/Quid37))
* Méthodes de régression renommées et améliorées. [#5492](https://github.com/ClickHouse/ClickHouse/pull/5492) ([Quid37](https://github.com/Quid37))
* Interfaces plus claires pour les algorithmes de recherche de chaînes. [#5586](https://github.com/ClickHouse/ClickHouse/pull/5586) ([Danila Kutenin](https://github.com/danlark1))

<div id="bug-fix">
  #### Correction de bugs
</div>

* Corrige une perte de données potentielle dans Kafka [#5445](https://github.com/ClickHouse/ClickHouse/pull/5445) ([Ivan](https://github.com/abyss7))
* Corrige une boucle infinie potentielle dans le format `PrettySpace` lorsqu'il est appelé avec zéro colonne [#5560](https://github.com/ClickHouse/ClickHouse/pull/5560) ([Olga Khvostikova](https://github.com/stavrolia))
* Corrige un bug de dépassement de capacité UInt32 dans les modèles linéaires. Autorise l'évaluation d'un modèle ML avec un argument de modèle non constant. [#5516](https://github.com/ClickHouse/ClickHouse/pull/5516) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* `ALTER TABLE ... DROP INDEX IF EXISTS ...` ne doit pas lever d'exception si l'index indiqué n'existe pas [#5524](https://github.com/ClickHouse/ClickHouse/pull/5524) ([Gleb Novikov](https://github.com/NanoBjorn))
* Corrige un segfault avec `bitmapHasAny` dans une sous-requête scalaire [#5528](https://github.com/ClickHouse/ClickHouse/pull/5528) ([Zhichang Yu](https://github.com/yuzhichang))
* Corrige une erreur lorsque le pool de connexions de réplication ne retentait pas la résolution de l'hôte, même après suppression du cache DNS. [#5534](https://github.com/ClickHouse/ClickHouse/pull/5534) ([alesapin](https://github.com/alesapin))
* Corrige `ALTER ... MODIFY TTL` sur ReplicatedMergeTree. [#5539](https://github.com/ClickHouse/ClickHouse/pull/5539) ([Anton Popov](https://github.com/CurtizJ))
* Corrige INSERT dans une table Distributed avec une colonne MATERIALIZED [#5429](https://github.com/ClickHouse/ClickHouse/pull/5429) ([Azat Khuzhin](https://github.com/azat))
* Corrige une erreur d'allocation lors de TRUNCATE sur le stockage Join [#5437](https://github.com/ClickHouse/ClickHouse/pull/5437) ([TCeason](https://github.com/TCeason))
* Dans les versions récentes du paquet tzdata, certains fichiers sont désormais des liens symboliques. Le mécanisme actuel de détection du fuseau horaire par défaut est alors défaillant et renvoie des noms erronés pour certains fuseaux horaires. Désormais, à défaut, nous forçons le nom du fuseau horaire à la valeur de TZ si elle est fournie. [#5443](https://github.com/ClickHouse/ClickHouse/pull/5443) ([Ivan](https://github.com/abyss7))
* Corrige quelques cas extrêmement rares dans le moteur de recherche MultiVolnitsky lorsque les needles constants dans la somme font au moins 16 KB. L'algorithme ignorait ou écrasait les résultats précédents, ce qui pouvait conduire à un résultat incorrect de `multiSearchAny`. [#5588](https://github.com/ClickHouse/ClickHouse/pull/5588) ([Danila Kutenin](https://github.com/danlark1))
* Corrige le problème où les paramètres des requêtes ExternalData ne pouvaient pas utiliser les paramètres ClickHouse. De plus, pour l'instant, les paramètres `date_time_input_format` et `low_cardinality_allow_in_native_format` ne peuvent pas être utilisés en raison de l'ambiguïté des noms (dans les données externes, ils peuvent être interprétés comme un format de table, et dans la requête, comme un paramètre). [#5455](https://github.com/ClickHouse/ClickHouse/pull/5455) ([Danila Kutenin](https://github.com/danlark1))
* Corrige un bug où les parts étaient supprimées uniquement du FS, sans être supprimées de ZooKeeper. [#5520](https://github.com/ClickHouse/ClickHouse/pull/5520) ([alesapin](https://github.com/alesapin))
* Supprime la journalisation de débogage du protocole MySQL [#5478](https://github.com/ClickHouse/ClickHouse/pull/5478) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ignore ZNONODE pendant le traitement des requêtes DDL [#5489](https://github.com/ClickHouse/ClickHouse/pull/5489) ([Azat Khuzhin](https://github.com/azat))
* Corrige le type des colonnes résultant de `UNION ALL`. Dans certains cas, les données et les types des colonnes résultantes étaient incohérents. [#5503](https://github.com/ClickHouse/ClickHouse/pull/5503) ([Artem Zuikov](https://github.com/4ertus2))
* Lève une exception en cas d'entiers incorrects dans les fonctions `dictGetT`, au lieu d'un plantage. [#5446](https://github.com/ClickHouse/ClickHouse/pull/5446) ([Artem Zuikov](https://github.com/4ertus2))
* Correction des valeurs incorrectes de `element&#95;count` et `load&#95;factor` pour le dictionnaire haché dans la table `system.dictionaries`. [#5440](https://github.com/ClickHouse/ClickHouse/pull/5440) ([Azat Khuzhin](https://github.com/azat))

<div id="buildtestingpackaging-improvement-9">
  #### Amélioration de build/des tests/du packaging
</div>

* Correction de la compilation sans prise en charge de la compression HTTP `Brotli` (variable cmake `ENABLE_BROTLI=OFF`). [#5521](https://github.com/ClickHouse/ClickHouse/pull/5521) ([Anton Yuzhaninov](https://github.com/citrin))
* Inclusion de roaring.h sous roaring/roaring.h [#5523](https://github.com/ClickHouse/ClickHouse/pull/5523) ([Orivej Desh](https://github.com/orivej))
* Correction des avertissements gcc9 dans hyperscan (la directive #line est maléfique !) [#5546](https://github.com/ClickHouse/ClickHouse/pull/5546) ([Danila Kutenin](https://github.com/danlark1))
* Correction de tous les avertissements lors de la compilation avec gcc-9. Correction de certains problèmes dans contrib. Correction de l’ICE de gcc9 et soumission à Bugzilla. [#5498](https://github.com/ClickHouse/ClickHouse/pull/5498) ([Danila Kutenin](https://github.com/danlark1))
* Correction de l’édition de liens avec lld [#5477](https://github.com/ClickHouse/ClickHouse/pull/5477) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Suppression des spécialisations inutilisées dans les dictionnaires [#5452](https://github.com/ClickHouse/ClickHouse/pull/5452) ([Artem Zuikov](https://github.com/4ertus2))
* Amélioration des tests de performance pour la mise en forme et l’analyse des tables pour différents types de fichiers [#5497](https://github.com/ClickHouse/ClickHouse/pull/5497) ([Olga Khvostikova](https://github.com/stavrolia))
* Corrections pour l’exécution parallèle des tests [#5506](https://github.com/ClickHouse/ClickHouse/pull/5506) ([proller](https://github.com/proller))
* Docker : utilisation des configs de clickhouse-test [#5531](https://github.com/ClickHouse/ClickHouse/pull/5531) ([proller](https://github.com/proller))
* Correction de la compilation pour FreeBSD [#5447](https://github.com/ClickHouse/ClickHouse/pull/5447) ([proller](https://github.com/proller))
* Mise à niveau de Boost vers 1.70 [#5570](https://github.com/ClickHouse/ClickHouse/pull/5570) ([proller](https://github.com/proller))
* Correction de la compilation de ClickHouse en tant que sous-module [#5574](https://github.com/ClickHouse/ClickHouse/pull/5574) ([proller](https://github.com/proller))
* Amélioration des tests de performance de JSONExtract [#5444](https://github.com/ClickHouse/ClickHouse/pull/5444) ([Vitaly Baranov](https://github.com/vitlibar))

<div id="clickhouse-release-19-8">
  ## Version 19.8 de ClickHouse
</div>

<div id="clickhouse-release-19-8-3-8-2019-06-11">
  ### Version de ClickHouse 19.8.3.8, 2019-06-11
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Ajout de fonctions pour travailler avec 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))
* Ajout d'une fonction `basename`, au comportement similaire à celui de la fonction du même nom présente dans de nombreux langages (`os.path.basename` en Python, `basename` en PHP, etc.). Fonctionne aussi bien avec un chemin de type UNIX qu'avec un chemin Windows. [#5136](https://github.com/ClickHouse/ClickHouse/pull/5136) ([Guillaume Tassery](https://github.com/YiuRULE))
* Ajout de la syntaxe `LIMIT n, m BY` ou `LIMIT m OFFSET n BY` pour définir un décalage de n pour la clause LIMIT BY. [#5138](https://github.com/ClickHouse/ClickHouse/pull/5138) ([Anton Popov](https://github.com/CurtizJ))
* Ajout du nouveau type de données `SimpleAggregateFunction`, qui permet d'avoir des colonnes avec une agrégation légère dans un `AggregatingMergeTree`. Cela ne peut être utilisé qu'avec des fonctions simples comme `any`, `anyLast`, `sum`, `min`, `max`. [#4629](https://github.com/ClickHouse/ClickHouse/pull/4629) ([Boris Granveaud](https://github.com/bgranvea))
* Ajout de la prise en charge des arguments non constants dans la fonction `ngramDistance` [#5198](https://github.com/ClickHouse/ClickHouse/pull/5198) ([Danila Kutenin](https://github.com/danlark1))
* Ajout des fonctions `skewPop`, `skewSamp`, `kurtPop` et `kurtSamp` pour calculer respectivement l'asymétrie d'une séquence, l'asymétrie d'échantillon, l'aplatissement et l'aplatissement d'échantillon. [#5200](https://github.com/ClickHouse/ClickHouse/pull/5200) ([hcz](https://github.com/hczhcz))
* Prise en charge de l'opération de renommage pour le moteur de stockage `MaterializeView`. [#5209](https://github.com/ClickHouse/ClickHouse/pull/5209) ([Guillaume Tassery](https://github.com/YiuRULE))
* Ajout d'un server permettant de se connecter à ClickHouse à l'aide d'un client MySQL. [#4715](https://github.com/ClickHouse/ClickHouse/pull/4715) ([Yuriy Baranov](https://github.com/yurriy))
* Ajout des fonctions `toDecimal*OrZero` et `toDecimal*OrNull`. [#5291](https://github.com/ClickHouse/ClickHouse/pull/5291) ([Artem Zuikov](https://github.com/4ertus2))
* Prise en charge des types Decimal dans les fonctions : `quantile`, `quantiles`, `median`, `quantileExactWeighted`, `quantilesExactWeighted`, `medianExactWeighted`. [#5304](https://github.com/ClickHouse/ClickHouse/pull/5304) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout de la fonction `toValidUTF8`, qui remplace tous les caractères UTF-8 non valides par le caractère de remplacement � (U+FFFD). [#5322](https://github.com/ClickHouse/ClickHouse/pull/5322) ([Danila Kutenin](https://github.com/danlark1))
* Ajout de la fonction `format`. Met en forme un pattern constant (pattern de format Python simplifié) avec les chaînes listées dans les arguments. [#5330](https://github.com/ClickHouse/ClickHouse/pull/5330) ([Danila Kutenin](https://github.com/danlark1))
* Ajout de la table `system.detached_parts` contenant des informations sur les detached parts des tables `MergeTree`. [#5353](https://github.com/ClickHouse/ClickHouse/pull/5353) ([akuzm](https://github.com/akuzm))
* Ajout de la fonction `ngramSearch` pour calculer la différence non symétrique entre la needle et le haystack. [#5418](https://github.com/ClickHouse/ClickHouse/pull/5418)[#5422](https://github.com/ClickHouse/ClickHouse/pull/5422) ([Danila Kutenin](https://github.com/danlark1))
* Implémentation de méthodes de base d'apprentissage automatique (régression linéaire stochastique et régression logistique) à l'aide de l'interface des fonctions d'agrégation. Différentes stratégies de mise à jour des poids du modèle sont prises en charge (descente de gradient simple, méthode du momentum, méthode de Nesterov). Les mini-batches de taille personnalisée sont également pris en charge. [#4943](https://github.com/ClickHouse/ClickHouse/pull/4943) ([Quid37](https://github.com/Quid37))
* Implémentation des fonctions `geohashEncode` et `geohashDecode`. [#5003](https://github.com/ClickHouse/ClickHouse/pull/5003) ([Vasily Nemkov](https://github.com/Enmk))
* Ajout de la fonction d’agrégation `timeSeriesGroupSum`, qui peut agréger différentes séries temporelles dont les `timestamp` d’échantillonnage ne sont pas alignés. Elle utilise une interpolation linéaire entre deux `timestamp` d’échantillonnage, puis additionne les séries temporelles. Ajout également de la fonction d’agrégation `timeSeriesGroupRateSum`, qui calcule le taux des séries temporelles avant d’additionner ces taux. [#4542](https://github.com/ClickHouse/ClickHouse/pull/4542) ([Yangkuan Liu](https://github.com/LiuYangkuan))
* Ajout des fonctions `IPv4CIDRtoIPv4Range` et `IPv6CIDRtoIPv6Range` pour calculer les bornes inférieure et supérieure d’une IP dans le sous-réseau à l’aide d’un CIDR. [#5095](https://github.com/ClickHouse/ClickHouse/pull/5095) ([Guillaume Tassery](https://github.com/YiuRULE))
* Ajout d’un header X-ClickHouse-Summary lors de l’envoi d’une requête via HTTP avec le paramètre `send_progress_in_http_headers` activé. Il renvoie les informations habituelles de X-ClickHouse-Progress, avec des informations supplémentaires comme le nombre de lignes et d’octets insérés par la requête. [#5116](https://github.com/ClickHouse/ClickHouse/pull/5116) ([Guillaume Tassery](https://github.com/YiuRULE))

<div id="improvements">
  #### Améliorations
</div>

* Ajout du paramètre `max_parts_in_total` pour la famille de tables MergeTree (par défaut : 100 000), afin d’empêcher une définition non sûre de la clé de partition #5166. [#5171](https://github.com/ClickHouse/ClickHouse/pull/5171) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `clickhouse-obfuscator` : dérive la seed de chaque colonne en combinant la seed initiale avec le nom de la colonne, et non avec sa position. Cela vise à transformer des datasets comportant plusieurs tables liées, afin que les tables restent utilisables avec JOIN après la transformation. [#5178](https://github.com/ClickHouse/ClickHouse/pull/5178) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout des fonctions `JSONExtractRaw`, `JSONExtractKeyAndValues`. Les fonctions `jsonExtract<type>` ont été renommées en `JSONExtract<type>`. En cas de problème, ces fonctions renvoient les valeurs correspondantes, et non `NULL`. La fonction `JSONExtract` a été modifiée : elle récupère désormais le return type à partir de son dernier paramètre et n’injecte pas de types Nullable. Mise en place d’un fallback vers RapidJSON lorsque les instructions AVX2 ne sont pas disponibles. La bibliothèque Simdjson a été mise à jour vers une nouvelle version. [#5235](https://github.com/ClickHouse/ClickHouse/pull/5235) ([Vitaly Baranov](https://github.com/vitlibar))
* Désormais, les fonctions `if` et `multiIf` ne s’appuient pas sur le `Nullable` de la condition, mais sur les branches, pour assurer la compatibilité SQL. [#5238](https://github.com/ClickHouse/ClickHouse/pull/5238) ([Jian Wu](https://github.com/janplus))
* Le prédicat `In` génère désormais un résultat `Null` à partir d’une entrée `Null`, comme la fonction `Equal`. [#5152](https://github.com/ClickHouse/ClickHouse/pull/5152) ([Jian Wu](https://github.com/janplus))
* Vérifie la limite de temps toutes les (flush\_interval / poll\_timeout) lignes lues depuis Kafka. Cela permet d’interrompre plus fréquemment la lecture depuis le consumer Kafka et de vérifier les limites de temps pour les streams de niveau supérieur [#5249](https://github.com/ClickHouse/ClickHouse/pull/5249) ([Ivan](https://github.com/abyss7))
* Lie rdkafka avec SASL intégré. Cela devrait permettre d’utiliser l’authentication SASL SCRAM [#5253](https://github.com/ClickHouse/ClickHouse/pull/5253) ([Ivan](https://github.com/abyss7))
* Version Batch de RowRefList pour tous les ALL JOINS. [#5267](https://github.com/ClickHouse/ClickHouse/pull/5267) ([Artem Zuikov](https://github.com/4ertus2))
* clickhouse-server : messages d’erreur à l’écoute plus informatifs. [#5268](https://github.com/ClickHouse/ClickHouse/pull/5268) ([proller](https://github.com/proller))
* Prise en charge des Dictionaries dans clickhouse-copier pour les fonctions dans `<sharding_key>` [#5270](https://github.com/ClickHouse/ClickHouse/pull/5270) ([proller](https://github.com/proller))
* Ajout du nouveau paramètre `kafka_commit_every_batch` pour réguler la policy de commit de Kafka.
  Il permet de définir le mode de commit : après le traitement de chaque Batch de messages, ou après l’écriture du block entier dans le storage. C’est un compromis entre la perte de certains messages et leur lecture en double dans certaines situations extrêmes. [#5308](https://github.com/ClickHouse/ClickHouse/pull/5308) ([Ivan](https://github.com/abyss7))
* Permet à `windowFunnel` de prendre en charge d’autres types d’entiers non signés. [#5320](https://github.com/ClickHouse/ClickHouse/pull/5320) ([sundyli](https://github.com/sundy-li))
* Permet de masquer la colonne virtuelle `_table` dans le moteur Merge. [#5325](https://github.com/ClickHouse/ClickHouse/pull/5325) ([Ivan](https://github.com/abyss7))
* Permet aux aggregate functions `sequenceMatch` de prendre en charge d’autres types d’entiers non signés [#5339](https://github.com/ClickHouse/ClickHouse/pull/5339) ([sundyli](https://github.com/sundy-li))
* Messages d’erreur améliorés lorsque l’incohérence de checksum est très probablement due à des défaillances matérielles. [#5355](https://github.com/ClickHouse/ClickHouse/pull/5355) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Vérification de la prise en charge de l’échantillonnage par les tables sous-jacentes pour `StorageMerge` [#5366](https://github.com/ClickHouse/ClickHouse/pull/5366) ([Ivan](https://github.com/abyss7))
* Fermeture des connexions MySQL après utilisation dans les dictionnaires externes. Lié à l’issue #893. [#5395](https://github.com/ClickHouse/ClickHouse/pull/5395) ([Clément Rodriguez](https://github.com/clemrodriguez))
* Améliorations du protocole MySQL Wire. Le nom du format a été remplacé par MySQLWire. Utilisation de RAII pour appeler RSA\_free. Désactivation de SSL si le contexte ne peut pas être créé. [#5419](https://github.com/ClickHouse/ClickHouse/pull/5419) ([Yuriy Baranov](https://github.com/yurriy))
* clickhouse-client : autorise l’exécution avec un fichier d’historique inaccessible (lecture seule, plus d’espace disque, le fichier est un répertoire, ...). [#5431](https://github.com/ClickHouse/ClickHouse/pull/5431) ([proller](https://github.com/proller))
* Prise en compte des paramètres de requête dans les INSERT asynchrones vers les tables Distributed. [#4936](https://github.com/ClickHouse/ClickHouse/pull/4936) ([TCeason](https://github.com/TCeason))
* Renommage des fonctions `leastSqr` en `simpleLinearRegression`, `LinearRegression` en `linearRegression`, `LogisticRegression` en `logisticRegression`. [#5391](https://github.com/ClickHouse/ClickHouse/pull/5391) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="performance-improvements">
  #### Améliorations des performances
</div>

* Parallélisation du traitement des parts des tables MergeTree non répliquées dans la requête ALTER MODIFY. [#4639](https://github.com/ClickHouse/ClickHouse/pull/4639) ([Ivan Kush](https://github.com/IvanKush))
* Optimisations de l'extraction par expressions régulières. [#5193](https://github.com/ClickHouse/ClickHouse/pull/5193) [#5191](https://github.com/ClickHouse/ClickHouse/pull/5191) ([Danila Kutenin](https://github.com/danlark1))
* Ne pas ajouter la colonne de clé de jointure de droite au résultat du JOIN si elle est utilisée uniquement dans la clause ON du JOIN. [#5260](https://github.com/ClickHouse/ClickHouse/pull/5260) ([Artem Zuikov](https://github.com/4ertus2))
* Geler le buffer Kafka après la première réponse vide. Cela évite plusieurs appels à `ReadBuffer::next()` pour un résultat vide dans certains flux d'analyse de lignes. [#5283](https://github.com/ClickHouse/ClickHouse/pull/5283) ([Ivan](https://github.com/abyss7))
* Optimisation de la fonction `concat` pour plusieurs arguments. [#5357](https://github.com/ClickHouse/ClickHouse/pull/5357) ([Danila Kutenin](https://github.com/danlark1))
* Optimisation des requêtes. Autoriser le push down de l'instruction IN lors de la réécriture d'une jointure avec virgule/CROSS JOIN en INNER JOIN. [#5396](https://github.com/ClickHouse/ClickHouse/pull/5396) ([Artem Zuikov](https://github.com/4ertus2))
* Remplacement de notre implémentation de LZ4 par l'implémentation de référence afin d'accélérer la décompression. [#5070](https://github.com/ClickHouse/ClickHouse/pull/5070) ([Danila Kutenin](https://github.com/danlark1))
* Implémentation du tri radix MSD (basé sur kxsort) et du tri partiel. [#5129](https://github.com/ClickHouse/ClickHouse/pull/5129) ([Evgenii Pravda](https://github.com/kvinty))

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction du cas où push nécessitait des colonnes avec jointure [#5192](https://github.com/ClickHouse/ClickHouse/pull/5192) ([Winter Zhang](https://github.com/zhang2014))
* Correction d’un bug : lorsque ClickHouse était exécuté par systemd, la commande `sudo service clickhouse-server forcerestart` ne fonctionnait pas comme prévu. [#5204](https://github.com/ClickHouse/ClickHouse/pull/5204) ([proller](https://github.com/proller))
* Correction des codes d’erreur HTTP dans DataPartsExchange (le serveur HTTP interserver sur le port 9009 renvoyait toujours le code 200, même en cas d’erreur). [#5216](https://github.com/ClickHouse/ClickHouse/pull/5216) ([proller](https://github.com/proller))
* Correction de SimpleAggregateFunction pour les String plus longues que MAX\_SMALL\_STRING\_SIZE [#5311](https://github.com/ClickHouse/ClickHouse/pull/5311) ([Azat Khuzhin](https://github.com/azat))
* Correction de l’erreur de conversion de `Decimal` vers `Nullable(Decimal)` dans IN. Prise en charge d’autres conversions de Decimal vers Decimal (y compris avec des échelles différentes). [#5350](https://github.com/ClickHouse/ClickHouse/pull/5350) ([Artem Zuikov](https://github.com/4ertus2))
* Correction de l’écrasement du FPU dans la bibliothèque simdjson, qui entraînait des calculs erronés pour les fonctions d’agrégation `uniqHLL` et `uniqCombined`, ainsi que pour des fonctions mathématiques telles que `log`. [#5354](https://github.com/ClickHouse/ClickHouse/pull/5354) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de la gestion des cas mixtes const/non const dans les fonctions JSON. [#5435](https://github.com/ClickHouse/ClickHouse/pull/5435) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction de la fonction `retention`. Désormais, toutes les conditions remplies dans une ligne de données sont ajoutées à l’état des données. [#5119](https://github.com/ClickHouse/ClickHouse/pull/5119) ([小路](https://github.com/nicelulu))
* Correction du type de résultat pour `quantileExact` avec des Decimal. [#5304](https://github.com/ClickHouse/ClickHouse/pull/5304) ([Artem Zuikov](https://github.com/4ertus2))

<div id="documentation">
  #### Documentation
</div>

* Traduction en chinois de la documentation de `CollapsingMergeTree`. [#5168](https://github.com/ClickHouse/ClickHouse/pull/5168) ([张风啸](https://github.com/AlexZFX))
* Traduction en chinois d’une partie de la documentation sur les moteurs de table.
  [#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-improvements">
  #### Améliorations du build, des tests et du packaging
</div>

* Correction de certains signalements du sanitizer indiquant une probable utilisation après libération. [#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))
* Déplacement des tests de performance hors de répertoires distincts pour plus de commodité. [#5158](https://github.com/ClickHouse/ClickHouse/pull/5158) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de tests de performance erronés. [#5255](https://github.com/ClickHouse/ClickHouse/pull/5255) ([alesapin](https://github.com/alesapin))
* Ajout d’un outil pour calculer les checksums dus à des inversions de bits afin d’aider au Débogage de problèmes matériels. [#5334](https://github.com/ClickHouse/ClickHouse/pull/5334) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Script runner rendu plus pratique à utiliser. [#5340](https://github.com/ClickHouse/ClickHouse/pull/5340)[#5360](https://github.com/ClickHouse/ClickHouse/pull/5360) ([filimonov](https://github.com/filimonov))
* Ajout de brèves instructions expliquant comment écrire des tests de performance. [#5408](https://github.com/ClickHouse/ClickHouse/pull/5408) ([alesapin](https://github.com/alesapin))
* Ajout de la possibilité d’effectuer des substitutions dans les requêtes CREATE, FILL et DROP des tests de performance [#5367](https://github.com/ClickHouse/ClickHouse/pull/5367) ([Olga Khvostikova](https://github.com/stavrolia))

<div id="clickhouse-release-19-7">
  ## Version de ClickHouse 19.7
</div>

<div id="clickhouse-release-19-7-5-29-2019-07-05">
  ### Version de ClickHouse 19.7.5.29, 2019-07-05
</div>

<div id="bug-fix-6">
  #### Correction de bug
</div>

* Correction d’une régression des performances pour certaines requêtes avec 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">
  ### Version de ClickHouse 19.7.5.27, 2019-06-09
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Ajout des fonctions liées aux bitmaps `bitmapHasAny` et `bitmapHasAll`, analogues aux fonctions `hasAny` et `hasAll` pour les tableaux. [#5279](https://github.com/ClickHouse/ClickHouse/pull/5279) ([Sergi Vladykin](https://github.com/svladykin))

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction d’un segfault sur `minmax` INDEX avec une valeur NULL. [#5246](https://github.com/ClickHouse/ClickHouse/pull/5246) ([Nikita Vasilev](https://github.com/nikvas0))
* Marquer toutes les colonnes d’entrée dans LIMIT BY comme sorties requises. Cela corrige l’erreur « Not found column » dans certaines requêtes distribuées. [#5407](https://github.com/ClickHouse/ClickHouse/pull/5407) ([Constantin S. Pan](https://github.com/kvap))
* Correction de l’erreur « Column '0' already exists » dans `SELECT .. PREWHERE` sur une colonne avec DEFAULT. [#5397](https://github.com/ClickHouse/ClickHouse/pull/5397) ([proller](https://github.com/proller))
* Correction de la requête `ALTER MODIFY TTL` sur `ReplicatedMergeTree`. [#5539](https://github.com/ClickHouse/ClickHouse/pull/5539/commits) ([Anton Popov](https://github.com/CurtizJ))
* Ne pas faire planter le serveur lorsque les consumers Kafka ne parviennent pas à démarrer. [#5285](https://github.com/ClickHouse/ClickHouse/pull/5285) ([Ivan](https://github.com/abyss7))
* Correction des fonctions bitmap qui produisaient un résultat erroné. [#5359](https://github.com/ClickHouse/ClickHouse/pull/5359) ([Andy Yang](https://github.com/andyyzh))
* Correction de `element_count` pour le dictionnaire haché (sans inclure les doublons). [#5440](https://github.com/ClickHouse/ClickHouse/pull/5440) ([Azat Khuzhin](https://github.com/azat))
* Utiliser le contenu de la variable d’environnement TZ comme nom de fuseau horaire. Cela permet, dans certains cas, de détecter correctement le fuseau horaire par défaut.[#5443](https://github.com/ClickHouse/ClickHouse/pull/5443) ([Ivan](https://github.com/abyss7))
* Ne pas essayer de convertir les entiers dans les fonctions `dictGetT`, car cela ne fonctionne pas correctement. Lever une exception à la place. [#5446](https://github.com/ClickHouse/ClickHouse/pull/5446) ([Artem Zuikov](https://github.com/4ertus2))
* Correction des settings dans la requête HTTP ExternalData. [#5455](https://github.com/ClickHouse/ClickHouse/pull/5455) ([Danila
  Kutenin](https://github.com/danlark1))
* Correction d’un bug où des parts étaient supprimées uniquement du FS sans être supprimées de Zookeeper. [#5520](https://github.com/ClickHouse/ClickHouse/pull/5520) ([alesapin](https://github.com/alesapin))
* Correction d’un segfault dans la fonction `bitmapHasAny`. [#5528](https://github.com/ClickHouse/ClickHouse/pull/5528) ([Zhichang Yu](https://github.com/yuzhichang))
* Correction d’une erreur où le pool de connexions de réplication ne réessayait pas de résoudre l’hôte, même après suppression du cache DNS. [#5534](https://github.com/ClickHouse/ClickHouse/pull/5534) ([alesapin](https://github.com/alesapin))
* Correction de la requête `DROP INDEX IF EXISTS`. Désormais, la requête `ALTER TABLE ... DROP INDEX IF EXISTS ...` ne lève pas d’exception si l’index indiqué n’existe pas. [#5524](https://github.com/ClickHouse/ClickHouse/pull/5524) ([Gleb Novikov](https://github.com/NanoBjorn))
* Correction du supertype de colonne pour union all. Dans certains cas, les données et les types des colonnes résultantes étaient incohérents. [#5503](https://github.com/ClickHouse/ClickHouse/pull/5503) ([Artem Zuikov](https://github.com/4ertus2))
* Ignorer ZNONODE pendant le traitement des requêtes DDL. Auparavant, si un autre nœud supprimait le znode dans la file de tâches, celui qui
  ne l’avait pas traité, mais avait déjà récupéré la liste des nœuds enfants, arrêtait le thread DDLWorker. [#5489](https://github.com/ClickHouse/ClickHouse/pull/5489) ([Azat Khuzhin](https://github.com/azat))
* Correction de INSERT dans une table Distributed() avec une colonne 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">
  ### Version de ClickHouse 19.7.3.9, 2019-05-30
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Possibilité de limiter la plage de valeurs d'un paramètre pouvant être défini par l'utilisateur.
  Ces contraintes peuvent être définies dans le profil de paramètres utilisateur.
  [#4931](https://github.com/ClickHouse/ClickHouse/pull/4931) ([Vitaly
  Baranov](https://github.com/vitlibar))
* Ajout d'une seconde version de la fonction `groupUniqArray` avec un paramètre
  facultatif `max_size` qui limite la taille du tableau résultant. Ce
  comportement est similaire à celui de la fonction `groupArray(max_size)(x)`.
  [#5026](https://github.com/ClickHouse/ClickHouse/pull/5026) ([Guillaume
  Tassery](https://github.com/YiuRULE))
* Pour les formats de fichier d'entrée TSVWithNames/CSVWithNames, l'ordre des
  colonnes peut désormais être déterminé à partir de l'en-tête du fichier. Ce comportement est contrôlé par
  le paramètre `input_format_with_names_use_header`.
  [#5081](https://github.com/ClickHouse/ClickHouse/pull/5081)
  ([Alexander](https://github.com/Akazz))

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Plantage avec uncompressed\_cache + JOIN lors d'une fusion (#5197)
  [#5133](https://github.com/ClickHouse/ClickHouse/pull/5133) ([Danila
  Kutenin](https://github.com/danlark1))
* Erreur de segmentation sur une requête clickhouse-client vers les tables système. #5066
  [#5127](https://github.com/ClickHouse/ClickHouse/pull/5127)
  ([Ivan](https://github.com/abyss7))
* Perte de données sous forte charge via KafkaEngine (#4736)
  [#5080](https://github.com/ClickHouse/ClickHouse/pull/5080)
  ([Ivan](https://github.com/abyss7))
* Correction d'une situation de concurrence sur les données très rare pouvant se produire lors de l'exécution d'une requête avec UNION ALL impliquant au moins deux SELECT depuis system.columns, system.tables, system.parts, system.parts\_tables ou des tables de la famille Merge, avec exécution concurrente d'un ALTER sur les colonnes des tables concernées. [#5189](https://github.com/ClickHouse/ClickHouse/pull/5189) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="performance-improvements">
  #### Améliorations des performances
</div>

* Utilisation du tri radix pour trier selon une seule colonne numérique dans `ORDER BY`, sans
  `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">
  #### Documentation
</div>

* Traduction en chinois de la documentation de certains moteurs de table.
  [#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-improvements">
  #### Améliorations du build, des tests et du packaging
</div>

* Affiche correctement les caractères UTF-8 dans `clickhouse-test`.
  [#5084](https://github.com/ClickHouse/ClickHouse/pull/5084)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajoute un paramètre de ligne de commande pour clickhouse-client afin de toujours charger les
  données de suggestion. [#5102](https://github.com/ClickHouse/ClickHouse/pull/5102)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige certains avertissements de PVS-Studio.
  [#5082](https://github.com/ClickHouse/ClickHouse/pull/5082)
  ([alexey-milovidov](https://github.com/alexey-milovidov))
* Met à jour LZ4 [#5040](https://github.com/ClickHouse/ClickHouse/pull/5040) ([Danila
  Kutenin](https://github.com/danlark1))
* Ajoute gperf aux dépendances de build pour la pull request #5030 à venir.
  [#5110](https://github.com/ClickHouse/ClickHouse/pull/5110)
  ([proller](https://github.com/proller))

<div id="clickhouse-release-19-6">
  ## Version de ClickHouse 19.6
</div>

<div id="clickhouse-release-19-6-3-18-2019-06-13">
  ### Version de ClickHouse 19.6.3.18, 2019-06-13
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction du pushdown de la condition IN pour les requêtes issues des fonctions de table `mysql` et `odbc`, ainsi que des moteurs de table correspondants. Cela corrige #3540 et #2384. [#5313](https://github.com/ClickHouse/ClickHouse/pull/5313) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'un interblocage dans Zookeeper. [#5297](https://github.com/ClickHouse/ClickHouse/pull/5297) ([github1youlc](https://github.com/github1youlc))
* Prise en charge des décimaux entre guillemets dans les fichiers CSV. [#5284](https://github.com/ClickHouse/ClickHouse/pull/5284) ([Artem Zuikov](https://github.com/4ertus2)
* Interdiction de convertir des valeurs float Inf/NaN en Decimals (déclenche une exception). [#5282](https://github.com/ClickHouse/ClickHouse/pull/5282) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'une data race dans la requête rename. [#5247](https://github.com/ClickHouse/ClickHouse/pull/5247) ([Winter Zhang](https://github.com/zhang2014))
* Désactivation temporaire de LFAlloc. L'utilisation de LFAlloc peut entraîner de nombreux MAP\_FAILED lors de l'allocation de UncompressedCache et, par conséquent, provoquer des plantages de requêtes sur des serveurs fortement chargés. [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">
  ### Version de ClickHouse 19.6.2.11, 2019-05-13
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Expressions TTL pour les colonnes et les tables. [#4212](https://github.com/ClickHouse/ClickHouse/pull/4212) ([Anton Popov](https://github.com/CurtizJ))
* Ajout de la prise en charge de la compression `brotli` pour les réponses HTTP (Accept-Encoding: br) [#4388](https://github.com/ClickHouse/ClickHouse/pull/4388) ([Mikhail](https://github.com/fandyushin))
* Ajout de la nouvelle fonction `isValidUTF8` pour vérifier si un ensemble d’octets est correctement encodé en UTF-8. [#4934](https://github.com/ClickHouse/ClickHouse/pull/4934) ([Danila Kutenin](https://github.com/danlark1))
* Ajout de la nouvelle politique d’équilibrage de charge `first_or_random`, qui envoie les requêtes au premier hôte spécifié et, s’il est inaccessible, les envoie vers des hôtes aléatoires du shard. Utile pour les configurations de topologie à réplication croisée. [#5012](https://github.com/ClickHouse/ClickHouse/pull/5012) ([nvartolomei](https://github.com/nvartolomei))

<div id="experimental-features">
  #### Fonctionnalités expérimentales
</div>

* Ajout du paramètre `index_granularity_bytes` (granularité d’index adaptative) pour les tables de la famille MergeTree\*. [#4826](https://github.com/ClickHouse/ClickHouse/pull/4826) ([alesapin](https://github.com/alesapin))

<div id="improvements">
  #### Améliorations
</div>

* Ajout de la prise en charge d’arguments de taille et de longueur non constants et négatifs pour la fonction `substringUTF8`. [#4989](https://github.com/ClickHouse/ClickHouse/pull/4989) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Désactivation du push-down vers la table de droite dans un left join, vers la table de gauche dans un right join, et vers les deux tables dans un full join. Cela corrige des résultats de JOIN incorrects dans certains cas. [#4846](https://github.com/ClickHouse/ClickHouse/pull/4846) ([Ivan](https://github.com/abyss7))
* `clickhouse-copier` : téléversement automatique de la configuration de tâche à partir de l’option `--task-file` [#4876](https://github.com/ClickHouse/ClickHouse/pull/4876) ([proller](https://github.com/proller))
* Ajout d’un gestionnaire de fautes de frappe pour la fabrique de stockage et la fabrique de fonctions de table. [#4891](https://github.com/ClickHouse/ClickHouse/pull/4891) ([Danila Kutenin](https://github.com/danlark1))
* Prise en charge des astérisques et des astérisques qualifiés pour plusieurs jointures sans sous-requêtes [#4898](https://github.com/ClickHouse/ClickHouse/pull/4898) ([Artem Zuikov](https://github.com/4ertus2))
* Message d’erreur pour colonne manquante rendu plus convivial. [#4915](https://github.com/ClickHouse/ClickHouse/pull/4915) ([Artem Zuikov](https://github.com/4ertus2))

<div id="performance-improvements">
  #### Améliorations des performances
</div>

* Accélération significative d’ASOF JOIN [#4924](https://github.com/ClickHouse/ClickHouse/pull/4924) ([Martijn Bakker](https://github.com/Gladdy))

<div id="backward-incompatible-changes">
  #### Modifications rétrocompatibles
</div>

* L’en-tête HTTP `Query-Id` a été renommé `X-ClickHouse-Query-Id` pour des raisons de cohérence. [#4972](https://github.com/ClickHouse/ClickHouse/pull/4972) ([Mikhail](https://github.com/fandyushin))

<div id="bug-fixes-4">
  #### Correctifs de bugs
</div>

* Correction d’un possible déréférencement de pointeur nul dans `clickhouse-copier`. [#4900](https://github.com/ClickHouse/ClickHouse/pull/4900) ([proller](https://github.com/proller))
* Correction d’une erreur survenant dans une query avec JOIN + ARRAY JOIN [#4938](https://github.com/ClickHouse/ClickHouse/pull/4938) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’un blocage au démarrage du serveur lorsqu’un Dictionary dépend d’un autre Dictionary via une database avec engine=Dictionary. [#4962](https://github.com/ClickHouse/ClickHouse/pull/4962) ([Vitaly Baranov](https://github.com/vitlibar))
* Correction partielle de distributed\_product\_mode = local. Il est désormais possible d’autoriser les columns des tables locales dans where/having/order by/... via des alias de table. Une exception est levée si la table n’a pas d’alias. Il n’est toutefois pas encore possible d’accéder aux columns sans alias de table. [#4986](https://github.com/ClickHouse/ClickHouse/pull/4986) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’un résultat potentiellement incorrect pour `SELECT DISTINCT` avec `JOIN` [#5001](https://github.com/ClickHouse/ClickHouse/pull/5001) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’une situation de concurrence sur les données très rare pouvant survenir lors de l’exécution d’une query avec UNION ALL impliquant au moins deux SELECT depuis system.columns, system.tables, system.parts, system.parts\_tables ou des tables de la famille Merge, avec en parallèle un ALTER des columns des tables concernées. [#5189](https://github.com/ClickHouse/ClickHouse/pull/5189) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvements-2">
  #### Améliorations de build/test/packaging
</div>

* Correction des échecs de test lors de l’exécution de clickhouse-server sur différents hôtes [#4713](https://github.com/ClickHouse/ClickHouse/pull/4713) ([Vasily Nemkov](https://github.com/Enmk))
* clickhouse-test : désactivation des séquences de contrôle des couleurs dans un environnement non-TTY. [#4937](https://github.com/ClickHouse/ClickHouse/pull/4937) ([alesapin](https://github.com/alesapin))
* clickhouse-test : autorisation de l’utilisation de toute base de données de test (suppression de la qualification `test.` lorsque c’est possible) [#5008](https://github.com/ClickHouse/ClickHouse/pull/5008) ([proller](https://github.com/proller))
* Correction des erreurs ubsan [#5037](https://github.com/ClickHouse/ClickHouse/pull/5037) ([Vitaly Baranov](https://github.com/vitlibar))
* Ajout de Yandex LFAlloc à ClickHouse pour allouer différemment les données de MarkCache et UncompressedCache afin de détecter les segfaults de manière plus fiable [#4995](https://github.com/ClickHouse/ClickHouse/pull/4995) ([Danila Kutenin](https://github.com/danlark1))
* Utilitaire Python pour faciliter les backports et les changelogs. [#4949](https://github.com/ClickHouse/ClickHouse/pull/4949) ([Ivan](https://github.com/abyss7))

<div id="clickhouse-release-19-5">
  ## Version 19.5 de ClickHouse
</div>

<div id="clickhouse-release-19-5-4-22-2019-05-13">
  ### Version de ClickHouse 19.5.4.22, 2019-05-13
</div>

<div id="bug-fixes-5">
  #### Correctif de bug
</div>

* Correction d’un plantage possible dans les fonctions bitmap\* [#5220](https://github.com/ClickHouse/ClickHouse/pull/5220) [#5228](https://github.com/ClickHouse/ClickHouse/pull/5228) ([Andy Yang](https://github.com/andyyzh))
* Correction d’une très rare situation de concurrence sur les données pouvant se produire lors de l’exécution d’une query avec UNION ALL impliquant au moins deux SELECT sur system.columns, system.tables, system.parts, system.parts\_tables ou des tables de la famille Merge, tout en effectuant simultanément un ALTER sur les colonnes des tables concernées. [#5189](https://github.com/ClickHouse/ClickHouse/pull/5189) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de l’erreur `Set for IN is not created yet in case of using single LowCardinality column in the left part of IN`. Cette erreur se produisait si la colonne LowCardinality faisait partie de la clé primaire. #5031 [#5154](https://github.com/ClickHouse/ClickHouse/pull/5154) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Modification de la fonction retention : si une ligne satisfaisait à la fois la première et la N-ième condition, seule la première condition satisfaite était ajoutée à l’état des données. Désormais, toutes les conditions satisfaites dans une ligne sont ajoutées à l’état des données. [#5119](https://github.com/ClickHouse/ClickHouse/pull/5119) ([小路](https://github.com/nicelulu))

<div id="clickhouse-release-19-5-3-8-2019-04-18">
  ### Version de ClickHouse 19.5.3.8, 2019-04-18
</div>

<div id="bug-fixes-6">
  #### Correctifs
</div>

* Type du paramètre `max_partitions_per_insert_block` corrigé, de booléen à 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">
  ### Version de ClickHouse 19.5.2.6, 2019-04-15
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Ajout de la correspondance multiple d’expressions régulières avec [Hyperscan](https://github.com/intel/hyperscan) (fonctions `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))
* La fonction `multiSearchFirstPosition` a été ajoutée. [#4780](https://github.com/ClickHouse/ClickHouse/pull/4780) ([Danila Kutenin](https://github.com/danlark1))
* Implémentation d’un filtre d’expression prédéfini par ligne pour les tables. [#4792](https://github.com/ClickHouse/ClickHouse/pull/4792) ([Ivan](https://github.com/abyss7))
* Un nouveau type d’indices de saut de données basé sur les bloom filters (peut être utilisé pour les fonctions `equal`, `in` et `like`). [#4499](https://github.com/ClickHouse/ClickHouse/pull/4499) ([Nikita Vasilev](https://github.com/nikvas0))
* Ajout de `ASOF JOIN`, qui permet d’exécuter des requêtes avec jointure sur la valeur connue la plus récente. [#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))
* Réécriture de plusieurs `COMMA JOIN` en `CROSS JOIN`, puis en `INNER JOIN` lorsque c’est possible. [#4661](https://github.com/ClickHouse/ClickHouse/pull/4661) ([Artem Zuikov](https://github.com/4ertus2))

<div id="improvement">
  #### Amélioration
</div>

* `topK` et `topKWeighted` prennent désormais en charge un `loadFactor` personnalisé (corrige le problème [#4252](https://github.com/ClickHouse/ClickHouse/issues/4252)). [#4634](https://github.com/ClickHouse/ClickHouse/pull/4634) ([Kirill Danshin](https://github.com/kirillDanshin))
* Permet d’utiliser `parallel_replicas_count > 1` même pour les tables sans échantillonnage (le paramètre est simplement ignoré dans ce cas). Dans les versions précédentes, cela entraînait une exception. [#4637](https://github.com/ClickHouse/ClickHouse/pull/4637) ([Alexey Elymanov](https://github.com/digitalist))
* Prise en charge de `CREATE OR REPLACE VIEW`. Permet de créer une vue ou d’en redéfinir la définition en une seule instruction. [#4654](https://github.com/ClickHouse/ClickHouse/pull/4654) ([Boris Granveaud](https://github.com/bgranvea))
* Le moteur de table `Buffer` prend désormais en charge `PREWHERE`. [#4671](https://github.com/ClickHouse/ClickHouse/pull/4671) ([Yangkuan Liu](https://github.com/LiuYangkuan))
* Ajout de la possibilité de démarrer une table répliquée sans métadonnées dans ZooKeeper en mode `readonly`. [#4691](https://github.com/ClickHouse/ClickHouse/pull/4691) ([alesapin](https://github.com/alesapin))
* Correction du scintillement de la barre de progression dans clickhouse-client. Le problème était particulièrement visible lors de l’utilisation de `FORMAT Null` avec des requêtes en streaming. [#4811](https://github.com/ClickHouse/ClickHouse/pull/4811) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Permet de désactiver, par utilisateur, les fonctions de la bibliothèque `hyperscan` afin de limiter une consommation de ressources potentiellement excessive et incontrôlée. [#4816](https://github.com/ClickHouse/ClickHouse/pull/4816) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la journalisation du numéro de version dans toutes les erreurs. [#4824](https://github.com/ClickHouse/ClickHouse/pull/4824) ([proller](https://github.com/proller))
* Ajout d’une restriction aux fonctions `multiMatch` imposant que la taille de la chaîne tienne dans un `unsigned int`. Une limite sur le nombre d’arguments a également été ajoutée aux fonctions `multiSearch`. [#4834](https://github.com/ClickHouse/ClickHouse/pull/4834) ([Danila Kutenin](https://github.com/danlark1))
* Amélioration de l’utilisation de l’espace de travail temporaire et de la gestion des erreurs dans Hyperscan. [#4866](https://github.com/ClickHouse/ClickHouse/pull/4866) ([Danila Kutenin](https://github.com/danlark1))
* Alimente `system.graphite_detentions` à partir de la configuration des tables utilisant un moteur `*GraphiteMergeTree`. [#4584](https://github.com/ClickHouse/ClickHouse/pull/4584) ([Mikhail f. Shiryaev](https://github.com/Felixoid))
* Renomme la fonction `trigramDistance` en `ngramDistance` et ajoute davantage de fonctions avec `CaseInsensitive` et `UTF`. [#4602](https://github.com/ClickHouse/ClickHouse/pull/4602) ([Danila Kutenin](https://github.com/danlark1))
* Amélioration du calcul des index de saut de données. [#4640](https://github.com/ClickHouse/ClickHouse/pull/4640) ([Nikita Vasilev](https://github.com/nikvas0))
* Conserve les colonnes ordinaires, `DEFAULT`, `MATERIALIZED` et `ALIAS` dans une seule liste (corrige le problème [#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">
  #### Correction de bugs
</div>

* Évite `std::terminate` en cas d’échec d’allocation de mémoire. Désormais, l’exception `std::bad_alloc` est levée comme prévu. [#4665](https://github.com/ClickHouse/ClickHouse/pull/4665) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la lecture de `capnproto` depuis le tampon. Il arrivait parfois que les fichiers ne se chargent pas correctement via HTTP. [#4674](https://github.com/ClickHouse/ClickHouse/pull/4674) ([Vladislav](https://github.com/smirnov-vs))
* Corrige l’erreur `Unknown log entry type: 0` après une requête `OPTIMIZE TABLE FINAL`. [#4683](https://github.com/ClickHouse/ClickHouse/pull/4683) ([Amos Bird](https://github.com/amosbird))
* Des arguments incorrects pour les fonctions `hasAny` ou `hasAll` peuvent provoquer un segfault. [#4698](https://github.com/ClickHouse/ClickHouse/pull/4698) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Un interblocage peut se produire lors de l’exécution de la requête `DROP DATABASE dictionary`. [#4701](https://github.com/ClickHouse/ClickHouse/pull/4701) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un comportement indéfini dans les fonctions `median` et `quantile`. [#4702](https://github.com/ClickHouse/ClickHouse/pull/4702) ([hcz](https://github.com/hczhcz))
* Corrige la détection du niveau de compression lorsque `network_compression_method` est en minuscules. Régression introduite dans la v19.1. [#4706](https://github.com/ClickHouse/ClickHouse/pull/4706) ([proller](https://github.com/proller))
* Corrige la non-prise en compte du paramètre `<timezone>UTC</timezone>` (corrige le ticket [#4658](https://github.com/ClickHouse/ClickHouse/issues/4658)). [#4718](https://github.com/ClickHouse/ClickHouse/pull/4718) ([proller](https://github.com/proller))
* Corrige le comportement de la fonction `histogram` avec les tables `Distributed`. [#4741](https://github.com/ClickHouse/ClickHouse/pull/4741) ([olegkv](https://github.com/olegkv))
* Corrige le rapport tsan `destroy of a locked mutex`. [#4742](https://github.com/ClickHouse/ClickHouse/pull/4742) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un rapport TSan à l’arrêt dû à une race condition dans l’utilisation des logs système. Corrige également un possible use-after-free à l’arrêt lorsque part\_log est activé. [#4758](https://github.com/ClickHouse/ClickHouse/pull/4758) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la revérification des parts dans `ReplicatedMergeTreeAlterThread` en cas d’erreur. [#4772](https://github.com/ClickHouse/ClickHouse/pull/4772) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Les opérations arithmétiques sur les états intermédiaires de fonctions d’agrégation ne fonctionnaient pas avec des arguments constants (comme les résultats de sous-requêtes). [#4776](https://github.com/ClickHouse/ClickHouse/pull/4776) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Entoure toujours les noms de colonnes d’accents graves dans les métadonnées. Sinon, il est impossible de créer une table avec une colonne nommée `index` (le serveur ne redémarrera pas à cause d’une requête `ATTACH` mal formée dans les métadonnées). [#4782](https://github.com/ClickHouse/ClickHouse/pull/4782) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un crash dans `ALTER ... MODIFY ORDER BY` sur une table `Distributed`. [#4790](https://github.com/ClickHouse/ClickHouse/pull/4790) ([TCeason](https://github.com/TCeason))
* Corrige un segfault dans `JOIN ON` avec `enable_optimize_predicate_expression` activé. [#4794](https://github.com/ClickHouse/ClickHouse/pull/4794) ([Winter Zhang](https://github.com/zhang2014))
* Corrige un bug qui ajoutait une ligne superflue après la consommation d’un message Protobuf depuis Kafka. [#4808](https://github.com/ClickHouse/ClickHouse/pull/4808) ([Vitaly Baranov](https://github.com/vitlibar))
* Corrige le crash de `JOIN` sur une colonne non `Nullable` vs `Nullable`. Corrige les `NULLs` dans les clés de droite dans `ANY JOIN` + `join_use_nulls`. [#4815](https://github.com/ClickHouse/ClickHouse/pull/4815) ([Artem Zuikov](https://github.com/4ertus2))
* Corrige une faute de segmentation dans `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))
* Corrige une condition de concurrence dans `SELECT` depuis `system.tables` si la table est renommée ou modifiée simultanément. [#4836](https://github.com/ClickHouse/ClickHouse/pull/4836) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige une data race lors de la récupération d'une data part déjà obsolète. [#4839](https://github.com/ClickHouse/ClickHouse/pull/4839) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige une rare data race pouvant survenir pendant `RENAME` d'une table de la famille MergeTree. [#4844](https://github.com/ClickHouse/ClickHouse/pull/4844) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige une faute de segmentation dans la fonction `arrayIntersect`. Une faute de segmentation pouvait se produire si la fonction était appelée avec un mélange d'arguments constants et non constants. [#4847](https://github.com/ClickHouse/ClickHouse/pull/4847) ([Lixiang Qian](https://github.com/fancyqlx))
* Corrige la lecture d'une colonne `Array(LowCardinality)` dans le rare cas où la colonne contenait une longue séquence de tableaux vides. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige un crash dans `FULL/RIGHT JOIN` lors d'une jointure sur `Nullable` vs non `Nullable`. [#4855](https://github.com/ClickHouse/ClickHouse/pull/4855) ([Artem Zuikov](https://github.com/4ertus2))
* Corrige l'exception `No message received` lors de la récupération de parts entre répliques. [#4856](https://github.com/ClickHouse/ClickHouse/pull/4856) ([alesapin](https://github.com/alesapin))
* Corrige le résultat erroné de la fonction `arrayIntersect` dans le cas de plusieurs valeurs répétées dans un même tableau. [#4871](https://github.com/ClickHouse/ClickHouse/pull/4871) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige une condition de concurrence pendant des requêtes `ALTER COLUMN` exécutées simultanément, qui pouvait entraîner un crash du serveur (corrige l'issue [#3421](https://github.com/ClickHouse/ClickHouse/issues/3421)). [#4592](https://github.com/ClickHouse/ClickHouse/pull/4592) ([Alex Zatelepin](https://github.com/ztlpn))
* Corrige un résultat incorrect dans `FULL/RIGHT JOIN` avec une colonne constante. [#4723](https://github.com/ClickHouse/ClickHouse/pull/4723) ([Artem Zuikov](https://github.com/4ertus2))
* Corrige les doublons dans `GLOBAL JOIN` avec un astérisque. [#4705](https://github.com/ClickHouse/ClickHouse/pull/4705) ([Artem Zuikov](https://github.com/4ertus2))
* Corrige la déduction des paramètres dans `ALTER MODIFY` de la colonne `CODEC` lorsque le type de la colonne n'est pas spécifié. [#4883](https://github.com/ClickHouse/ClickHouse/pull/4883) ([alesapin](https://github.com/alesapin))
* Les fonctions `cutQueryStringAndFragment()` et `queryStringAndFragment()` fonctionnent désormais correctement lorsque `URL` contient un fragment et aucune requête. [#4894](https://github.com/ClickHouse/ClickHouse/pull/4894) ([Vitaly Baranov](https://github.com/vitlibar))
* Corrige un bug rare lorsque le paramètre `min_bytes_to_use_direct_io` est supérieur à zéro, qui se produit lorsqu'un thread doit effectuer un seek vers l'arrière dans un column file. [#4897](https://github.com/ClickHouse/ClickHouse/pull/4897) ([alesapin](https://github.com/alesapin))
* Corrige des types d’arguments incorrects pour les fonctions d’agrégation avec des arguments `LowCardinality` (corrige le problème [#4919](https://github.com/ClickHouse/ClickHouse/issues/4919)). [#4922](https://github.com/ClickHouse/ClickHouse/pull/4922) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige une qualification incorrecte des noms dans `GLOBAL JOIN`. [#4969](https://github.com/ClickHouse/ClickHouse/pull/4969) ([Artem Zuikov](https://github.com/4ertus2))
* Corrige le résultat de la fonction `toISOWeek` pour l’année 1970. [#4988](https://github.com/ClickHouse/ClickHouse/pull/4988) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la duplication des requêtes `DROP`, `TRUNCATE` et `OPTIMIZE` lors de leur exécution avec `ON CLUSTER` pour la famille de tables `ReplicatedMergeTree*`. [#4991](https://github.com/ClickHouse/ClickHouse/pull/4991) ([alesapin](https://github.com/alesapin))

<div id="backward-incompatible-change-4">
  #### Changement incompatible avec les versions précédentes
</div>

* Le paramètre `insert_sample_with_metadata` a été renommé en `input_format_defaults_for_omitted_fields`. [#4771](https://github.com/ClickHouse/ClickHouse/pull/4771) ([Artem Zuikov](https://github.com/4ertus2))
* Ajout du paramètre `max_partitions_per_insert_block` (avec une valeur par défaut de 100). Si le bloc inséré contient un nombre de partitions supérieur, une exception est levée. Définissez-le sur 0 si vous souhaitez supprimer cette limite (déconseillé). [#4845](https://github.com/ClickHouse/ClickHouse/pull/4845) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Les fonctions de recherche multiple ont été renommées (`multiPosition` en `multiSearchAllPositions`, `multiSearch` en `multiSearchAny`, `firstMatch` en `multiSearchFirstIndex`). [#4780](https://github.com/ClickHouse/ClickHouse/pull/4780) ([Danila Kutenin](https://github.com/danlark1))

<div id="performance-improvement">
  #### Amélioration des performances
</div>

* Optimisation de l'algorithme de recherche Volnitsky grâce à l'inlining, avec un gain d'environ 5 à 10 % pour les requêtes comportant de nombreux motifs ou beaucoup de bigrammes similaires. [#4862](https://github.com/ClickHouse/ClickHouse/pull/4862) ([Danila Kutenin](https://github.com/danlark1))
* Correction d'un problème de performances lorsque le paramètre `use_uncompressed_cache` est supérieur à zéro, qui survenait lorsque toutes les données lues étaient contenues dans le cache. [#4913](https://github.com/ClickHouse/ClickHouse/pull/4913) ([alesapin](https://github.com/alesapin))

<div id="buildtestingpackaging-improvement-10">
  #### Amélioration du build, des tests et du packaging
</div>

* Renforcement du build de débogage : memory mappings plus granulaires et ASLR ; ajout d'une protection mémoire pour le mark cache et l'index. Cela permet de détecter davantage de bugs d'écrasement mémoire lorsque ASan et MSan n'y parviennent pas. [#4632](https://github.com/ClickHouse/ClickHouse/pull/4632) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la prise en charge des variables cmake `ENABLE_PROTOBUF`, `ENABLE_PARQUET` et `ENABLE_BROTLI`, permettant d'activer ou de désactiver les fonctionnalités ci-dessus (comme c'est déjà le cas pour librdkafka, mysql, etc.). [#4669](https://github.com/ClickHouse/ClickHouse/pull/4669) ([Silviu Caragea](https://github.com/silviucpp))
* Ajout de la possibilité d'afficher la liste des processus et les stacktraces de tous les threads si certaines requêtes restent bloquées après l'exécution des tests. [#4675](https://github.com/ClickHouse/ClickHouse/pull/4675) ([alesapin](https://github.com/alesapin))
* Ajout de tentatives de nouvelle connexion en cas d'erreur `Connection loss` dans `clickhouse-test`. [#4682](https://github.com/ClickHouse/ClickHouse/pull/4682) ([alesapin](https://github.com/alesapin))
* Ajout au script packager d'un build FreeBSD avec Vagrant et d'un build avec Thread Sanitizer. [#4712](https://github.com/ClickHouse/ClickHouse/pull/4712) [#4748](https://github.com/ClickHouse/ClickHouse/pull/4748) ([alesapin](https://github.com/alesapin))
* Désormais, un mot de passe est demandé pour l'utilisateur `'default'` pendant l'installation. [#4725](https://github.com/ClickHouse/ClickHouse/pull/4725) ([proller](https://github.com/proller))
* Suppression d'un avertissement dans la bibliothèque `rdkafka`. [#4740](https://github.com/ClickHouse/ClickHouse/pull/4740) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Possibilité de compiler sans SSL. [#4750](https://github.com/ClickHouse/ClickHouse/pull/4750) ([proller](https://github.com/proller))
* Ajout d'un moyen de lancer l'image clickhouse-server avec un utilisateur personnalisé. [#4753](https://github.com/ClickHouse/ClickHouse/pull/4753) ([Mikhail f. Shiryaev](https://github.com/Felixoid))
* Mise à niveau de contrib boost vers la version 1.69. [#4793](https://github.com/ClickHouse/ClickHouse/pull/4793) ([proller](https://github.com/proller))
* Désactivation de l'utilisation de `mremap` lors de la compilation avec Thread Sanitizer. Étonnamment, TSan n'intercepte pas `mremap` (bien qu'il intercepte `mmap` et `munmap`), ce qui entraîne des faux positifs. Correction d'un signalement TSan dans les tests stateful. [#4859](https://github.com/ClickHouse/ClickHouse/pull/4859) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d'un test vérifiant l'utilisation d'un schéma de format via l'interface HTTP. [#4864](https://github.com/ClickHouse/ClickHouse/pull/4864) ([Vitaly Baranov](https://github.com/vitlibar))

<div id="clickhouse-release-19-4">
  ## Version 19.4 de ClickHouse
</div>

<div id="clickhouse-release-19-4-4-33-2019-04-17">
  ### Version de ClickHouse 19.4.4.33, 2019-04-17
</div>

<div id="bug-fixes-5">
  #### Correctif de bug
</div>

* Évite `std::terminate` en cas d'échec d'allocation de mémoire. Désormais, l'exception `std::bad_alloc` est levée comme prévu. [#4665](https://github.com/ClickHouse/ClickHouse/pull/4665) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la lecture de `capnproto` depuis le buffer. Il arrivait parfois que les fichiers ne soient pas chargés correctement via HTTP. [#4674](https://github.com/ClickHouse/ClickHouse/pull/4674) ([Vladislav](https://github.com/smirnov-vs))
* Corrige l'erreur `Unknown log entry type: 0` après une requête `OPTIMIZE TABLE FINAL`. [#4683](https://github.com/ClickHouse/ClickHouse/pull/4683) ([Amos Bird](https://github.com/amosbird))
* Des arguments incorrects pour les fonctions `hasAny` ou `hasAll` peuvent provoquer un segfault. [#4698](https://github.com/ClickHouse/ClickHouse/pull/4698) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Un interblocage peut se produire lors de l'exécution de la requête `DROP DATABASE dictionary`. [#4701](https://github.com/ClickHouse/ClickHouse/pull/4701) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un comportement indéfini dans les fonctions `median` et `quantile`. [#4702](https://github.com/ClickHouse/ClickHouse/pull/4702) ([hcz](https://github.com/hczhcz))
* Corrige la détection du niveau de compression lorsque `network_compression_method` est en minuscules. Régression introduite dans la v19.1. [#4706](https://github.com/ClickHouse/ClickHouse/pull/4706) ([proller](https://github.com/proller))
* Corrige la non-prise en compte du paramètre `<timezone>UTC</timezone>` (corrige le ticket [#4658](https://github.com/ClickHouse/ClickHouse/issues/4658)). [#4718](https://github.com/ClickHouse/ClickHouse/pull/4718) ([proller](https://github.com/proller))
* Corrige le comportement de la fonction `histogram` avec les tables `Distributed`. [#4741](https://github.com/ClickHouse/ClickHouse/pull/4741) ([olegkv](https://github.com/olegkv))
* Corrige le rapport tsan `destroy of a locked mutex`. [#4742](https://github.com/ClickHouse/ClickHouse/pull/4742) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un rapport TSan à l'arrêt dû à une race condition dans l'utilisation des logs système. Corrige également un possible use-after-free à l'arrêt lorsque part\_log est activé. [#4758](https://github.com/ClickHouse/ClickHouse/pull/4758) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la revérification des parts dans `ReplicatedMergeTreeAlterThread` en cas d'erreur. [#4772](https://github.com/ClickHouse/ClickHouse/pull/4772) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Les opérations arithmétiques sur les états intermédiaires des fonctions d'agrégation ne fonctionnaient pas avec des arguments constants (comme les résultats de sous-requêtes). [#4776](https://github.com/ClickHouse/ClickHouse/pull/4776) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Toujours entourer les noms de colonnes d'accents graves dans les métadonnées. Sinon, il est impossible de créer une table avec une colonne nommée `index` (le serveur ne redémarre pas à cause d'une requête `ATTACH` mal formée dans les métadonnées). [#4782](https://github.com/ClickHouse/ClickHouse/pull/4782) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige un crash dans `ALTER ... MODIFY ORDER BY` sur une table `Distributed`. [#4790](https://github.com/ClickHouse/ClickHouse/pull/4790) ([TCeason](https://github.com/TCeason))
* Corrige un segfault dans `JOIN ON` avec `enable_optimize_predicate_expression` activé. [#4794](https://github.com/ClickHouse/ClickHouse/pull/4794) ([Winter Zhang](https://github.com/zhang2014))
* Corrige un bug qui ajoutait une ligne superflue après la consommation d'un message Protobuf depuis Kafka. [#4808](https://github.com/ClickHouse/ClickHouse/pull/4808) ([Vitaly Baranov](https://github.com/vitlibar))
* Corrige une erreur de segmentation dans `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))
* Corrige une condition de concurrence dans `SELECT` sur `system.tables` si la table est renommée ou modifiée simultanément. [#4836](https://github.com/ClickHouse/ClickHouse/pull/4836) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige une concurrence d’accès aux données lors de la récupération d’une data part déjà obsolète. [#4839](https://github.com/ClickHouse/ClickHouse/pull/4839) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige une rare concurrence d’accès aux données pouvant se produire lors du `RENAME` d’une table de la famille MergeTree. [#4844](https://github.com/ClickHouse/ClickHouse/pull/4844) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige une erreur de segmentation dans la fonction `arrayIntersect`. Une erreur de segmentation pouvait se produire si la fonction était appelée avec un mélange d’arguments constants et ordinaires. [#4847](https://github.com/ClickHouse/ClickHouse/pull/4847) ([Lixiang Qian](https://github.com/fancyqlx))
* Corrige la lecture d’une colonne `Array(LowCardinality)` dans le rare cas où la colonne contenait une longue séquence de tableaux vides. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige l’exception `No message received` lors de la récupération de parties entre répliques. [#4856](https://github.com/ClickHouse/ClickHouse/pull/4856) ([alesapin](https://github.com/alesapin))
* Corrige le résultat erroné de la fonction `arrayIntersect` en cas de plusieurs valeurs répétées dans un même tableau. [#4871](https://github.com/ClickHouse/ClickHouse/pull/4871) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige une condition de concurrence lors de requêtes `ALTER COLUMN` concurrentes pouvant entraîner un crash du serveur (corrige le ticket [#3421](https://github.com/ClickHouse/ClickHouse/issues/3421)). [#4592](https://github.com/ClickHouse/ClickHouse/pull/4592) ([Alex Zatelepin](https://github.com/ztlpn))
* Corrige la déduction des paramètres dans `ALTER MODIFY` de la colonne `CODEC` lorsque le type de colonne n’est pas spécifié. [#4883](https://github.com/ClickHouse/ClickHouse/pull/4883) ([alesapin](https://github.com/alesapin))
* Les fonctions `cutQueryStringAndFragment()` et `queryStringAndFragment()` fonctionnent désormais correctement lorsque `URL` contient un fragment et aucune chaîne de requête. [#4894](https://github.com/ClickHouse/ClickHouse/pull/4894) ([Vitaly Baranov](https://github.com/vitlibar))
* Corrige un bug rare lorsque le paramètre `min_bytes_to_use_direct_io` est supérieur à zéro, qui se produit lorsqu’un thread doit revenir en arrière dans un fichier de colonne. [#4897](https://github.com/ClickHouse/ClickHouse/pull/4897) ([alesapin](https://github.com/alesapin))
* Corrige les types d’argument erronés pour les fonctions d’agrégation avec des arguments `LowCardinality` (corrige le ticket [#4919](https://github.com/ClickHouse/ClickHouse/issues/4919)). [#4922](https://github.com/ClickHouse/ClickHouse/pull/4922) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Corrige le résultat de la fonction `toISOWeek` pour l’année 1970. [#4988](https://github.com/ClickHouse/ClickHouse/pull/4988) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Corrige la duplication des requêtes `DROP`, `TRUNCATE` et `OPTIMIZE` lorsqu’elles sont exécutées avec `ON CLUSTER` pour la famille de tables `ReplicatedMergeTree*`. [#4991](https://github.com/ClickHouse/ClickHouse/pull/4991) ([alesapin](https://github.com/alesapin))

<div id="improvements">
  #### Améliorations
</div>

* Regroupe les colonnes ordinaires, `DEFAULT`, `MATERIALIZED` et `ALIAS` dans une seule liste (corrige l’issue [#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">
  ### Version de ClickHouse 19.4.3.11, 2019-04-02
</div>

<div id="bug-fixes-4">
  #### Correctifs de bugs
</div>

* Correction d’un crash dans `FULL/RIGHT JOIN` lors d’une jointure entre des colonnes Nullable et non Nullable. [#4855](https://github.com/ClickHouse/ClickHouse/pull/4855) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’une erreur de segmentation dans `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))

<div id="buildtestingpackaging-improvement-11">
  #### Amélioration du build/des tests/du packaging
</div>

* Ajout d’un moyen de lancer l’image clickhouse-server avec un utilisateur personnalisé. [#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">
  ### Version de ClickHouse 19.4.2.7, 2019-03-30
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction de la lecture d’une colonne `Array(LowCardinality)` dans le cas rare où elle contenait une longue séquence de tableaux vides. [#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">
  ### Version de ClickHouse 19.4.1.3, 2019-03-19
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction des requêtes distantes contenant à la fois `LIMIT BY` et `LIMIT`. Auparavant, si `LIMIT BY` et `LIMIT` étaient utilisés dans une requête distante, `LIMIT` pouvait être appliqué avant `LIMIT BY`, ce qui entraînait un résultat excessivement filtré. [#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">
  ### Version de ClickHouse 19.4.0.49, 2019-03-09
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Ajout de la prise en charge complète du format `Protobuf` (entrée et sortie, structures de données imbriquées). [#4174](https://github.com/ClickHouse/ClickHouse/pull/4174) [#4493](https://github.com/ClickHouse/ClickHouse/pull/4493) ([Vitaly Baranov](https://github.com/vitlibar))
* Ajout de fonctions de bitmap avec 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))
* Prise en charge du format Parquet. [#4448](https://github.com/ClickHouse/ClickHouse/pull/4448) ([proller](https://github.com/proller))
* Ajout de la distance par n-grammes pour la comparaison approximative de chaînes. Elle est similaire aux métriques q-gram du langage R. [#4466](https://github.com/ClickHouse/ClickHouse/pull/4466) ([Danila Kutenin](https://github.com/danlark1))
* Combinaison des règles de rollup Graphite à partir de patterns dédiés d’agrégation et de rétention. [#4426](https://github.com/ClickHouse/ClickHouse/pull/4426) ([Mikhail f. Shiryaev](https://github.com/Felixoid))
* Ajout de `max_execution_speed` et `max_execution_speed_bytes` pour limiter l’utilisation des ressources. Ajout du paramètre `min_execution_speed_bytes` en complément de `min_execution_speed`. [#4430](https://github.com/ClickHouse/ClickHouse/pull/4430) ([Winter Zhang](https://github.com/zhang2014))
* Implémentation de la fonction `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))
* Ajout des fonctions `arrayEnumerateDenseRanked` et `arrayEnumerateUniqRanked` (semblables à `arrayEnumerateUniq`, mais permettant de régler finement la profondeur pour explorer des tableaux multidimensionnels). [#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))
* Plusieurs JOIN avec certaines restrictions : pas d’astérisques, pas d’alias complexes dans ON/WHERE/GROUP BY/… [#4462](https://github.com/ClickHouse/ClickHouse/pull/4462) ([Artem Zuikov](https://github.com/4ertus2))

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Cette version contient également tous les correctifs de bugs des versions 19.3 et 19.1.
* Correction d’un bug dans les index de saut de données : l’ordre des granules après INSERT était incorrect. [#4407](https://github.com/ClickHouse/ClickHouse/pull/4407) ([Nikita Vasilev](https://github.com/nikvas0))
* Correction de l’index `set` pour les colonnes `Nullable` et `LowCardinality`. Auparavant, l’utilisation de l’index `set` avec une colonne `Nullable` ou `LowCardinality` entraînait l’erreur `Data type must be deserialized with multiple streams` lors d’un SELECT. [#4594](https://github.com/ClickHouse/ClickHouse/pull/4594) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Définition correcte de update\_time lors d’une mise à jour complète d’un dictionnaire `executable`. [#4551](https://github.com/ClickHouse/ClickHouse/pull/4551) ([Tema Novikov](https://github.com/temoon))
* Correction de la barre de progression défaillante dans la version 19.3. [#4627](https://github.com/ClickHouse/ClickHouse/pull/4627) ([filimonov](https://github.com/filimonov))
* Correction de valeurs incohérentes de MemoryTracker, dans certains cas, lors de la réduction d’une région mémoire. [#4619](https://github.com/ClickHouse/ClickHouse/pull/4619) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un comportement indéfini dans ThreadPool. [#4612](https://github.com/ClickHouse/ClickHouse/pull/4612) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un crash très rare avec le message `mutex lock failed: Invalid argument`, qui pouvait se produire lorsqu’une table MergeTree était supprimée en parallèle d’un SELECT. [#4608](https://github.com/ClickHouse/ClickHouse/pull/4608) ([Alex Zatelepin](https://github.com/ztlpn))
* Compatibilité du pilote ODBC avec le type de données `LowCardinality`. [#4381](https://github.com/ClickHouse/ClickHouse/pull/4381) ([proller](https://github.com/proller))
* FreeBSD : correctif pour l’erreur `AIOcontextPool: Found io_event with unknown id 0`. [#4438](https://github.com/ClickHouse/ClickHouse/pull/4438) ([urgordeadbeef](https://github.com/urgordeadbeef))
* La table `system.part_log` était créée quelle que soit la configuration. [#4483](https://github.com/ClickHouse/ClickHouse/pull/4483) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un comportement indéfini dans la fonction `dictIsIn` pour les dictionnaires de type cache. [#4515](https://github.com/ClickHouse/ClickHouse/pull/4515) ([alesapin](https://github.com/alesapin))
* Correction d’un interblocage lorsqu’une requête SELECT verrouille plusieurs fois la même table (par exemple depuis différents threads ou lors de l’exécution de plusieurs sous-requêtes) et qu’il existe une requête DDL concurrente. [#4535](https://github.com/ClickHouse/ClickHouse/pull/4535) ([Alex Zatelepin](https://github.com/ztlpn))
* Désactivation de compile\_expressions par défaut jusqu’à ce que nous disposions de notre propre contrib `llvm` et puissions le tester avec `clang` et `asan`. [#4579](https://github.com/ClickHouse/ClickHouse/pull/4579) ([alesapin](https://github.com/alesapin))
* Empêche `std::terminate` lorsque `invalidate_query` pour la source de dictionnaire externe `clickhouse` renvoie un jeu de résultats incorrect (vide, ou avec plus d’une ligne, ou plus d’une colonne). Correction également d’un problème où `invalidate_query` était exécutée toutes les cinq secondes indépendamment du `lifetime`. [#4583](https://github.com/ClickHouse/ClickHouse/pull/4583) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Évite un interblocage lorsque `invalidate_query` pour un dictionnaire avec une source `clickhouse` impliquait la table `system.dictionaries` ou la base de données `Dictionaries` (cas rare). [#4599](https://github.com/ClickHouse/ClickHouse/pull/4599) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correctifs pour CROSS JOIN avec une clause WHERE vide. [#4598](https://github.com/ClickHouse/ClickHouse/pull/4598) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un segfault dans la fonction "replicate" lorsqu'un argument constant est passé. [#4603](https://github.com/ClickHouse/ClickHouse/pull/4603) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'une lambda function avec l'optimiseur de prédicats. [#4408](https://github.com/ClickHouse/ClickHouse/pull/4408) ([Winter Zhang](https://github.com/zhang2014))
* Corrections multiples des JOIN. [#4595](https://github.com/ClickHouse/ClickHouse/pull/4595) ([Artem Zuikov](https://github.com/4ertus2))

<div id="improvements">
  #### Améliorations
</div>

* Prise en charge des alias dans la section JOIN ON pour les colonnes de la table de droite. [#4412](https://github.com/ClickHouse/ClickHouse/pull/4412) ([Artem Zuikov](https://github.com/4ertus2))
* Le résultat de plusieurs JOIN doit avoir des noms corrects pour pouvoir être utilisé dans des sous-requêtes. Remplacement des alias plats par des noms de source dans le résultat. [#4474](https://github.com/ClickHouse/ClickHouse/pull/4474) ([Artem Zuikov](https://github.com/4ertus2))
* Amélioration de la logique de push-down pour les requêtes avec jointure. [#4387](https://github.com/ClickHouse/ClickHouse/pull/4387) ([Ivan](https://github.com/abyss7))

<div id="performance-improvements">
  #### Améliorations des performances
</div>

* Amélioration des heuristiques de l’optimisation « move to PREWHERE ». [#4405](https://github.com/ClickHouse/ClickHouse/pull/4405) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Utilisation de tables de correspondance appropriées s’appuyant sur l’API de HashTable pour les clés de 8 et 16 bits. [#4536](https://github.com/ClickHouse/ClickHouse/pull/4536) ([Amos Bird](https://github.com/amosbird))
* Amélioration des performances de comparaison des chaînes. [#4564](https://github.com/ClickHouse/ClickHouse/pull/4564) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Nettoyage de la file d’attente des DDL distribués dans un thread distinct, afin de ne pas ralentir la boucle principale qui traite les tâches de DDL distribuées. [#4502](https://github.com/ClickHouse/ClickHouse/pull/4502) ([Alex Zatelepin](https://github.com/ztlpn))
* Lorsque `min_bytes_to_use_direct_io` est défini sur 1, les fichiers n’étaient pas tous ouverts en mode O\_DIRECT, car la taille des données à lire était parfois sous-estimée de la taille d’un bloc compressé. [#4526](https://github.com/ClickHouse/ClickHouse/pull/4526) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvement-11">
  #### Amélioration du build/des tests/du packaging
</div>

* Ajout de la prise en charge de clang-9 [#4604](https://github.com/ClickHouse/ClickHouse/pull/4604) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’instructions `__asm__` erronées (encore) [#4621](https://github.com/ClickHouse/ClickHouse/pull/4621) ([Konstantin Podshumok](https://github.com/podshumok))
* Ajout de la possibilité de spécifier des paramètres pour `clickhouse-performance-test` depuis la ligne de commande. [#4437](https://github.com/ClickHouse/ClickHouse/pull/4437) ([alesapin](https://github.com/alesapin))
* Ajout de tests sur les Dictionaries aux tests d’intégration. [#4477](https://github.com/ClickHouse/ClickHouse/pull/4477) ([alesapin](https://github.com/alesapin))
* Ajout aux tests de performance automatisés des requêtes du benchmark présentes sur le site web. [#4496](https://github.com/ClickHouse/ClickHouse/pull/4496) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `xxhash.h` n’existe pas dans lz4 externe, car il s’agit d’un détail d’implémentation et ses symboles sont placés dans un espace de noms via la macro `XXH_NAMESPACE`. Lorsque lz4 est externe, xxHash doit l’être aussi, et les composants dépendants doivent être liés à celui-ci. [#4495](https://github.com/ClickHouse/ClickHouse/pull/4495) ([Orivej Desh](https://github.com/orivej))
* Correction d’un cas où la fonction d’agrégation `quantileTiming` pouvait être appelée avec un argument négatif ou à virgule flottante (cela corrige un test de fuzzing avec le sanitizer de comportement indéfini). [#4506](https://github.com/ClickHouse/ClickHouse/pull/4506) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une faute d’orthographe. [#4531](https://github.com/ClickHouse/ClickHouse/pull/4531) ([sdk2](https://github.com/sdk2))
* Correction de la compilation sur Mac. [#4371](https://github.com/ClickHouse/ClickHouse/pull/4371) ([Vitaly Baranov](https://github.com/vitlibar))
* Correctifs de compilation pour FreeBSD et diverses configurations de compilation inhabituelles. [#4444](https://github.com/ClickHouse/ClickHouse/pull/4444) ([proller](https://github.com/proller))

<div id="clickhouse-release-19-3">
  ## Version de ClickHouse 19.3
</div>

<div id="clickhouse-release-19-3-9-1-2019-04-02">
  ### Version de ClickHouse 19.3.9.1, 2019-04-02
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Corrige un plantage dans `FULL/RIGHT JOIN` lors d’une jointure entre un type nullable et un type non nullable. [#4855](https://github.com/ClickHouse/ClickHouse/pull/4855) ([Artem Zuikov](https://github.com/4ertus2))
* Corrige une erreur de segmentation dans `clickhouse-copier`. [#4835](https://github.com/ClickHouse/ClickHouse/pull/4835) ([proller](https://github.com/proller))
* Corrige la lecture d’une colonne `Array(LowCardinality)` dans le cas rare où la colonne contenait une longue séquence de tableaux vides. [#4850](https://github.com/ClickHouse/ClickHouse/pull/4850) ([Nikolai Kochetov](https://github.com/KochetovNicolai))

<div id="buildtestingpackaging-improvement-11">
  #### Amélioration du build/des tests/du packaging
</div>

* Ajouter un moyen de lancer l'image clickhouse-server sous un utilisateur personnalisé [#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">
  ### Version de ClickHouse 19.3.7, 2019-03-12
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction d’une erreur dans #3920. Cette erreur se manifeste par une corruption aléatoire du cache (messages `Unknown codec family code`, `Cannot seek through file`) et des segfaults. Ce bug est apparu pour la première fois dans la version 19.1 et est présent jusqu’aux versions 19.1.10 et 19.3.6 incluses. [#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">
  ### Version 19.3.6 de ClickHouse, 2019-03-02
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Lorsqu'il y a plus de 1000 threads dans un pool de threads, `std::terminate` peut se produire lors de la terminaison d'un thread. [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))
* Il est désormais possible de créer des tables `ReplicatedMergeTree*` avec des commentaires sur des colonnes sans valeurs par défaut, ainsi que des tables avec des codecs de colonnes sans commentaires ni valeurs par défaut. Correction également de la comparaison des codecs. [#4523](https://github.com/ClickHouse/ClickHouse/pull/4523) ([alesapin](https://github.com/alesapin))
* Correction d'un plantage sur JOIN avec un Array ou un Tuple. [#4552](https://github.com/ClickHouse/ClickHouse/pull/4552) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un plantage dans clickhouse-copier avec le message `ThreadStatus not created`. [#4540](https://github.com/ClickHouse/ClickHouse/pull/4540) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un blocage à l'arrêt du serveur si des DDL distribués avaient été utilisés. [#4472](https://github.com/ClickHouse/ClickHouse/pull/4472) ([Alex Zatelepin](https://github.com/ztlpn))
* Des numéros de colonnes incorrects étaient affichés dans le message d'erreur concernant l'analyse du format texte pour les colonnes dont le numéro est supérieur à 10. [#4484](https://github.com/ClickHouse/ClickHouse/pull/4484) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="buildtestingpackaging-improvements-3">
  #### Améliorations de build/tests/packaging
</div>

* Correction de la compilation avec AVX activé. [#4527](https://github.com/ClickHouse/ClickHouse/pull/4527) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Activation de la comptabilisation étendue et de la comptabilisation des E/S en se basant sur une version reconnue comme correcte, plutôt que sur le noyau avec lequel il a été compilé. [#4541](https://github.com/ClickHouse/ClickHouse/pull/4541) ([nvartolomei](https://github.com/nvartolomei))
* Possibilité d'ignorer le paramétrage de `core_dump.size_limit`, avec un avertissement au lieu d'une exception si la définition de la limite échoue. [#4473](https://github.com/ClickHouse/ClickHouse/pull/4473) ([proller](https://github.com/proller))
* Suppression des mots-clés `inline` de `void readBinary(...)` dans `Field.cpp`. Fusion également des blocs `namespace DB` redondants. [#4530](https://github.com/ClickHouse/ClickHouse/pull/4530) ([hcz](https://github.com/hczhcz))

<div id="clickhouse-release-19-3-5-2019-02-21">
  ### Version 19.3.5 de ClickHouse, 2019-02-21
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction d’un bug dans le traitement des requêtes d’insert HTTP volumineuses. [#4454](https://github.com/ClickHouse/ClickHouse/pull/4454) ([alesapin](https://github.com/alesapin))
* Correction d’une rupture de compatibilité avec les anciennes versions due à une implémentation incorrecte du paramètre `send_logs_level`. [#4445](https://github.com/ClickHouse/ClickHouse/pull/4445) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une rupture de compatibilité de la fonction de table `remote` introduite avec les commentaires de colonnes. [#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">
  ### Version de ClickHouse 19.3.4, 2019-02-16
</div>

<div id="improvements">
  #### Améliorations
</div>

* La taille de l’index d’une table n’est pas prise en compte dans les limites mémoire lors de l’exécution d’une requête `ATTACH TABLE`. Cela évite qu’une table ne puisse pas être attachée après avoir été détachée. [#4396](https://github.com/ClickHouse/ClickHouse/pull/4396) ([alexey-milovidov](https://github.com/alexey-milovidov))
* La limite maximale de taille des chaînes et des tableaux reçus depuis ZooKeeper a été légèrement augmentée. Cela permet de continuer à fonctionner avec une valeur accrue de `CLIENT_JVMFLAGS=-Djute.maxbuffer=...` sur ZooKeeper. [#4398](https://github.com/ClickHouse/ClickHouse/pull/4398) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Permet de réparer une replica abandonnée même si elle contient déjà un très grand nombre de nœuds dans sa file d’attente. [#4399](https://github.com/ClickHouse/ClickHouse/pull/4399) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’un argument obligatoire à l’index `SET` (nombre maximal de lignes stockées). [#4386](https://github.com/ClickHouse/ClickHouse/pull/4386) ([Nikita Vasilev](https://github.com/nikvas0))

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction du résultat de `WITH ROLLUP` pour un group by sur une seule clé `LowCardinality`. [#4384](https://github.com/ClickHouse/ClickHouse/pull/4384) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Correction d'un bug dans l'index Set (suppression d'une granule si elle contient plus de `max_rows` lignes). [#4386](https://github.com/ClickHouse/ClickHouse/pull/4386) ([Nikita Vasilev](https://github.com/nikvas0))
* Nombreux correctifs de build pour FreeBSD. [#4397](https://github.com/ClickHouse/ClickHouse/pull/4397) ([proller](https://github.com/proller))
* Correction de la substitution des alias dans les requêtes avec une sous-requête contenant le même alias (issue [#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-improvements-3">
  #### Améliorations de build/tests/packaging
</div>

* Ajout de la possibilité d’exécuter `clickhouse-server` pour des tests sans état au sein de l’image 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">
  ### Version de ClickHouse 19.3.3 du 2019-02-13
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Ajout de l'instruction `KILL MUTATION`, qui permet de supprimer les mutations bloquées pour une raison quelconque. Ajout des champs `latest_failed_part`, `latest_fail_time` et `latest_fail_reason` à la table `system.mutations` pour faciliter le dépannage. [#4287](https://github.com/ClickHouse/ClickHouse/pull/4287) ([Alex Zatelepin](https://github.com/ztlpn))
* Ajout de la fonction d'agrégation `entropy`, qui calcule l'entropie de Shannon. [#4238](https://github.com/ClickHouse/ClickHouse/pull/4238) ([Quid37](https://github.com/Quid37))
* Ajout de la possibilité d'envoyer au serveur des requêtes `INSERT INTO tbl VALUES (....` sans les scinder en parties `query` et `data`. [#4301](https://github.com/ClickHouse/ClickHouse/pull/4301) ([alesapin](https://github.com/alesapin))
* Ajout d'une implémentation générique de la fonction `arrayWithConstant`. [#4322](https://github.com/ClickHouse/ClickHouse/pull/4322) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Implémentation de l'opérateur de comparaison `NOT BETWEEN`. [#4228](https://github.com/ClickHouse/ClickHouse/pull/4228) ([Dmitry Naumov](https://github.com/nezed))
* Implémentation de `sumMapFiltered` afin de limiter le nombre de clés pour lesquelles les valeurs sont additionnées par `sumMap`. [#4129](https://github.com/ClickHouse/ClickHouse/pull/4129) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))
* Ajout de la prise en charge des types `Nullable` dans la fonction de table `mysql`. [#4198](https://github.com/ClickHouse/ClickHouse/pull/4198) ([Emmanuel Donin de Rosière](https://github.com/edonin))
* Prise en charge des expressions constantes arbitraires dans la clause `LIMIT`. [#4246](https://github.com/ClickHouse/ClickHouse/pull/4246) ([k3box](https://github.com/k3box))
* Ajout de la fonction d'agrégation `topKWeighted`, qui accepte un argument supplémentaire correspondant à un poids (entier non signé). [#4245](https://github.com/ClickHouse/ClickHouse/pull/4245) ([Andrew Golman](https://github.com/andrewgolman))
* `StorageJoin` prend désormais en charge le paramètre `join_any_take_last_row`, qui permet d'écraser les valeurs existantes pour une même clé. [#3973](https://github.com/ClickHouse/ClickHouse/pull/3973) ([Amos Bird](https://github.com/amosbird)
* Ajout de la fonction `toStartOfInterval`. [#4304](https://github.com/ClickHouse/ClickHouse/pull/4304) ([Vitaly Baranov](https://github.com/vitlibar))
* Ajout du format `RowBinaryWithNamesAndTypes`. [#4200](https://github.com/ClickHouse/ClickHouse/pull/4200) ([Oleg V. Kozlyuk](https://github.com/DarkWanderer))
* Ajout des types de données `IPv4` et `IPv6`. Implémentations plus efficaces des fonctions `IPv*`. [#3669](https://github.com/ClickHouse/ClickHouse/pull/3669) ([Vasily Nemkov](https://github.com/Enmk))
* Ajout de la fonction `toStartOfTenMinutes()`. [#4298](https://github.com/ClickHouse/ClickHouse/pull/4298) ([Vitaly Baranov](https://github.com/vitlibar))
* Ajout du format de sortie `Protobuf`. [#4005](https://github.com/ClickHouse/ClickHouse/pull/4005) [#4158](https://github.com/ClickHouse/ClickHouse/pull/4158) ([Vitaly Baranov](https://github.com/vitlibar))
* Ajout de la prise en charge de brotli dans l'interface HTTP pour l'importation de données (`INSERT`). [#4235](https://github.com/ClickHouse/ClickHouse/pull/4235) ([Mikhail](https://github.com/fandyushin))
* Ajout d'indications en cas de faute de frappe dans un nom de fonction ou un type dans le client en ligne de commande. [#4239](https://github.com/ClickHouse/ClickHouse/pull/4239) ([Danila Kutenin](https://github.com/danlark1))
* Ajout de `Query-Id` à l'en-tête de réponse HTTP du serveur. [#4231](https://github.com/ClickHouse/ClickHouse/pull/4231) ([Mikhail](https://github.com/fandyushin))

<div id="experimental-features">
  #### Fonctionnalités expérimentales
</div>

* Ajout d’index de saut de données `minmax` et `set` pour la famille de moteurs de table MergeTree. [#4143](https://github.com/ClickHouse/ClickHouse/pull/4143) ([Nikita Vasilev](https://github.com/nikvas0))
* Ajout de la conversion de `CROSS JOIN` en `INNER JOIN` lorsque possible. [#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-fix-6">
  #### Correction de bug
</div>

* Correction de `Not found column` pour les colonnes dupliquées dans la section `JOIN ON`. [#4279](https://github.com/ClickHouse/ClickHouse/pull/4279) ([Artem Zuikov](https://github.com/4ertus2))
* La commande `START REPLICATED SENDS` lance désormais les envois répliqués. [#4229](https://github.com/ClickHouse/ClickHouse/pull/4229) ([nvartolomei](https://github.com/nvartolomei))
* Correction de l’exécution des fonctions d’agrégation avec des arguments `Array(LowCardinality)`. [#4055](https://github.com/ClickHouse/ClickHouse/pull/4055) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Correction d’un comportement incorrect lors de l’exécution de la requête `INSERT ... SELECT ... FROM file(...)` lorsque le fichier est au format `CSVWithNames` ou `TSVWIthNames` et que la première ligne de données est manquante. [#4297](https://github.com/ClickHouse/ClickHouse/pull/4297) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un crash lors du rechargement d’un dictionnaire si celui-ci n’est pas disponible. Ce bogue est apparu dans la version 19.1.6. [#4188](https://github.com/ClickHouse/ClickHouse/pull/4188) ([proller](https://github.com/proller))
* Correction de `ALL JOIN` en présence de doublons dans la table de droite. [#4184](https://github.com/ClickHouse/ClickHouse/pull/4184) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’une erreur de segmentation avec `use_uncompressed_cache=1` et d’une exception avec une taille non compressée incorrecte. Ce bogue est apparu dans la version 19.1.6. [#4186](https://github.com/ClickHouse/ClickHouse/pull/4186) ([alesapin](https://github.com/alesapin))
* Correction d’un bogue dans `compile_expressions` lors de la comparaison de dates élevées (supérieures à int16). [#4341](https://github.com/ClickHouse/ClickHouse/pull/4341) ([alesapin](https://github.com/alesapin))
* Correction d’une boucle infinie lors de la sélection depuis la fonction de table `numbers(0)`. [#4280](https://github.com/ClickHouse/ClickHouse/pull/4280) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Désactivation temporaire de l’optimisation de prédicat pour `ORDER BY`. [#3890](https://github.com/ClickHouse/ClickHouse/pull/3890) ([Winter Zhang](https://github.com/zhang2014))
* Correction de l’erreur `Illegal instruction` lors de l’utilisation des fonctions base64 sur d’anciens CPU. Cette erreur n’a été reproduite que lorsque ClickHouse était compilé avec gcc-8. [#4275](https://github.com/ClickHouse/ClickHouse/pull/4275) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de l’erreur `No message received` lors des interactions avec le pilote ODBC PostgreSQL via une connexion TLS. Corrige également une erreur de segmentation lors de l’utilisation du pilote ODBC MySQL. [#4170](https://github.com/ClickHouse/ClickHouse/pull/4170) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un résultat incorrect lorsque des arguments `Date` et `DateTime` sont utilisés dans les branches de l’opérateur conditionnel (fonction `if`). Ajout d’un cas générique pour la fonction `if`. [#4243](https://github.com/ClickHouse/ClickHouse/pull/4243) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Les dictionnaires ClickHouse sont désormais chargés dans le processus `clickhouse`. [#4166](https://github.com/ClickHouse/ClickHouse/pull/4166) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un interblocage lorsqu’un `SELECT` depuis une table utilisant le moteur `File` était relancé après une erreur `No such file or directory`. [#4161](https://github.com/ClickHouse/ClickHouse/pull/4161) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une situation de concurrence lors d’une sélection depuis `system.tables`, pouvant provoquer l’erreur `table does not exist`. [#4313](https://github.com/ClickHouse/ClickHouse/pull/4313) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `clickhouse-client` peut provoquer un segfault à la fermeture lors du chargement des données pour les suggestions en ligne de commande s'il est exécuté en mode interactif. [#4317](https://github.com/ClickHouse/ClickHouse/pull/4317) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'un bug où l'exécution de mutations contenant des opérateurs `IN` produisait des résultats incorrects. [#4099](https://github.com/ClickHouse/ClickHouse/pull/4099) ([Alex Zatelepin](https://github.com/ztlpn))
* Correction d'une erreur : s'il existe une base de données avec le moteur `Dictionary`, tous les dictionnaires sont forcés à se charger au démarrage du serveur, et s'il existe un dictionnaire avec une source ClickHouse sur localhost, ce dictionnaire ne peut pas se charger. [#4255](https://github.com/ClickHouse/ClickHouse/pull/4255) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'une erreur lors de la tentative de recréation des logs système à l'arrêt du serveur. [#4254](https://github.com/ClickHouse/ClickHouse/pull/4254) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Retourne le bon type et gère correctement les verrous dans la fonction `joinGet`. [#4153](https://github.com/ClickHouse/ClickHouse/pull/4153) ([Amos Bird](https://github.com/amosbird))
* Ajout de la fonction `sumMapWithOverflow`. [#4151](https://github.com/ClickHouse/ClickHouse/pull/4151) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))
* Correction d'un segfault avec `allow_experimental_multiple_joins_emulation`. [52de2c](https://github.com/ClickHouse/ClickHouse/commit/52de2cd927f7b5257dd67e175f0a5560a48840d0) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d'un bug de comparaison incorrecte entre `Date` et `DateTime`. [#4237](https://github.com/ClickHouse/ClickHouse/pull/4237) ([valexey](https://github.com/valexey))
* Correction d'un test de fuzzing avec le sanitizer de comportement indéfini : ajout d'une vérification du type de paramètre pour la famille de fonctions `quantile*Weighted`. [#4145](https://github.com/ClickHouse/ClickHouse/pull/4145) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'une rare condition de concurrence où la suppression d'anciennes data parts pouvait échouer avec l'erreur `File not found`. [#4378](https://github.com/ClickHouse/ClickHouse/pull/4378) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de l'installation du paquet lorsque /etc/clickhouse-server/config.xml est manquant. [#4343](https://github.com/ClickHouse/ClickHouse/pull/4343) ([proller](https://github.com/proller))

<div id="buildtestingpackaging-improvement-1">
  #### Amélioration de la compilation, des tests et du packaging
</div>

* Paquet Debian : correction du lien /etc/clickhouse-server/preprocessed en fonction de la config. [#4205](https://github.com/ClickHouse/ClickHouse/pull/4205) ([proller](https://github.com/proller))
* Divers correctifs de build pour FreeBSD. [#4225](https://github.com/ClickHouse/ClickHouse/pull/4225) ([proller](https://github.com/proller))
* Ajout de la possibilité de créer, remplir et supprimer des tables dans perftest. [#4220](https://github.com/ClickHouse/ClickHouse/pull/4220) ([alesapin](https://github.com/alesapin))
* Ajout d’un script pour détecter les inclusions en double. [#4326](https://github.com/ClickHouse/ClickHouse/pull/4326) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la possibilité d’exécuter des requêtes par index dans le test de performance. [#4264](https://github.com/ClickHouse/ClickHouse/pull/4264) ([alesapin](https://github.com/alesapin))
* Il est recommandé d’installer le paquet contenant les symboles de débogage. [#4274](https://github.com/ClickHouse/ClickHouse/pull/4274) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Refactorisation de performance-test. Amélioration de la journalisation et de la gestion des signaux. [#4171](https://github.com/ClickHouse/ClickHouse/pull/4171) ([alesapin](https://github.com/alesapin))
* Ajout de documentation pour les jeux de données Yandex.Metrica anonymisés. [#4164](https://github.com/ClickHouse/ClickHouse/pull/4164) ([alesapin](https://github.com/alesapin))
* Ajout d’un outil pour convertir une ancienne part partitionnée par mois vers le format à partitionnement personnalisé. [#4195](https://github.com/ClickHouse/ClickHouse/pull/4195) ([Alex Zatelepin](https://github.com/ztlpn))
* Ajout de documentation sur deux jeux de données dans S3. [#4144](https://github.com/ClickHouse/ClickHouse/pull/4144) ([alesapin](https://github.com/alesapin))
* Ajout d’un script qui crée le changelog à partir de la description des pull requests. [#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))
* Ajout d’un module Puppet pour ClickHouse. [#4182](https://github.com/ClickHouse/ClickHouse/pull/4182) ([Maxim Fedotov](https://github.com/MaxFedotov))
* Ajout de documentation pour un groupe de fonctions jusque-là non documentées. [#4168](https://github.com/ClickHouse/ClickHouse/pull/4168) ([Winter Zhang](https://github.com/zhang2014))
* Correctifs de build 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))
* Les tests de dictionnaires peuvent désormais être exécutés depuis `ctest`. [#4189](https://github.com/ClickHouse/ClickHouse/pull/4189) ([proller](https://github.com/proller))
* Désormais, `/etc/ssl` est utilisé comme répertoire par défaut pour les certificats SSL. [#4167](https://github.com/ClickHouse/ClickHouse/pull/4167) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la vérification des instructions SSE et AVX au démarrage. [#4234](https://github.com/ClickHouse/ClickHouse/pull/4234) ([Igr](https://github.com/igron99))
* Le script d’initialisation attendra que le serveur ait démarré. [#4281](https://github.com/ClickHouse/ClickHouse/pull/4281) ([proller](https://github.com/proller))

<div id="backward-incompatible-changes-1">
  #### Changements incompatibles avec les versions précédentes
</div>

* Suppression du paramètre `allow_experimental_low_cardinality_type`. Les types de données `LowCardinality` sont prêts pour la production. [#4323](https://github.com/ClickHouse/ClickHouse/pull/4323) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Réduction de la taille du mark cache et du cache non compressé en fonction de la quantité de mémoire disponible. [#4240](https://github.com/ClickHouse/ClickHouse/pull/4240) ([Lopatin Konstantin](https://github.com/k-lopatin)
* Ajout du mot-clé `INDEX` dans la requête `CREATE TABLE`. Une colonne nommée `index` doit être entourée de backticks ou de guillemets doubles : `` `index` ``. [#4143](https://github.com/ClickHouse/ClickHouse/pull/4143) ([Nikita Vasilev](https://github.com/nikvas0))
* `sumMap` promeut désormais le type du résultat au lieu de provoquer un dépassement de capacité. L’ancien comportement de `sumMap` peut être obtenu en utilisant la fonction `sumMapWithOverflow`. [#4151](https://github.com/ClickHouse/ClickHouse/pull/4151) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))

<div id="performance-improvements">
  #### Améliorations des performances
</div>

* `std::sort` remplacé par `pdqsort` pour les requêtes sans `LIMIT`. [#4236](https://github.com/ClickHouse/ClickHouse/pull/4236) ([Evgenii Pravda](https://github.com/kvinty))
* Désormais, le serveur réutilise les threads du pool global de threads. Cela affecte les performances dans certains cas particuliers. [#4150](https://github.com/ClickHouse/ClickHouse/pull/4150) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="improvements">
  #### Améliorations
</div>

* Prise en charge de l’AIO implémentée pour FreeBSD. [#4305](https://github.com/ClickHouse/ClickHouse/pull/4305) ([urgordeadbeef](https://github.com/urgordeadbeef))
* `SELECT * FROM a JOIN b USING a, b` ne renvoie désormais les colonnes `a` et `b` que depuis la table de gauche. [#4141](https://github.com/ClickHouse/ClickHouse/pull/4141) ([Artem Zuikov](https://github.com/4ertus2))
* L’option `-C` du client peut désormais être utilisée comme l’option `-c`. [#4232](https://github.com/ClickHouse/ClickHouse/pull/4232) ([syominsergey](https://github.com/syominsergey))
* Désormais, l’option `--password` utilisée sans valeur lit le mot de passe depuis stdin. [#4230](https://github.com/ClickHouse/ClickHouse/pull/4230) ([BSD\_Conqueror](https://github.com/bsd-conqueror))
* Ajout de la mise en évidence des métacaractères non échappés dans les littéraux de chaîne contenant des expressions `LIKE` ou des expressions régulières. [#4327](https://github.com/ClickHouse/ClickHouse/pull/4327) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de l’annulation des requêtes HTTP en lecture seule si le socket du client se ferme. [#4213](https://github.com/ClickHouse/ClickHouse/pull/4213) ([nvartolomei](https://github.com/nvartolomei))
* Le serveur signale désormais sa progression afin de maintenir les connexions client actives. [#4215](https://github.com/ClickHouse/ClickHouse/pull/4215) ([Ivan](https://github.com/abyss7))
* Message légèrement amélioré, avec la raison, pour la requête OPTIMIZE lorsque le paramètre `optimize_throw_if_noop` est activé. [#4294](https://github.com/ClickHouse/ClickHouse/pull/4294) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de la prise en charge de l’option `--version` pour le serveur ClickHouse. [#4251](https://github.com/ClickHouse/ClickHouse/pull/4251) ([Lopatin Konstantin](https://github.com/k-lopatin))
* Ajout de l’option `--help/-h` à `clickhouse-server`. [#4233](https://github.com/ClickHouse/ClickHouse/pull/4233) ([Yuriy Baranov](https://github.com/yurriy))
* Ajout de la prise en charge des sous-requêtes scalaires dont le résultat est un état de fonction d’agrégation. [#4348](https://github.com/ClickHouse/ClickHouse/pull/4348) ([Nikolai Kochetov](https://github.com/KochetovNicolai))
* Amélioration du temps d’arrêt du serveur et du temps d’attente des requêtes ALTER. [#4372](https://github.com/ClickHouse/ClickHouse/pull/4372) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout d’informations sur le paramètre replicated\_can\_become\_leader dans system.replicas, ainsi que de la journalisation si la réplique ne tente pas de devenir leader. [#4379](https://github.com/ClickHouse/ClickHouse/pull/4379) ([Alex Zatelepin](https://github.com/ztlpn))

<div id="clickhouse-release-19-1">
  ## Version de ClickHouse 19.1
</div>

<div id="clickhouse-release-19-1-14-2019-03-14">
  ### Version de ClickHouse 19.1.14, 2019-03-14
</div>

* Correction de l’erreur `Column ... queried more than once`, qui peut survenir si le paramètre `asterisk_left_columns_only` est défini sur 1 lors de l’utilisation de `GLOBAL JOIN` avec `SELECT *` (cas rare). Ce problème n’existe pas dans la version 19.3 ni dans les versions ultérieures. [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">
  ### Version de ClickHouse 19.1.13, 2019-03-12
</div>

Cette version contient exactement les mêmes correctifs que la version 19.3.7.

<div id="clickhouse-release-19-1-10-2019-03-03">
  ### version de ClickHouse 19.1.10, 2019-03-03
</div>

Cette version contient exactement les mêmes correctifs que la 19.3.6.

<div id="clickhouse-release-19-1-1">
  ## Version 19.1 de ClickHouse
</div>

<div id="clickhouse-release-19-1-9-2019-02-21">
  ### version de ClickHouse 19.1.9, 2019-02-21
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction d'une incompatibilité avec les anciennes versions due à une implémentation incorrecte du paramètre `send_logs_level`. [#4445](https://github.com/ClickHouse/ClickHouse/pull/4445) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'une incompatibilité avec les anciennes versions de la fonction de table `remote`, introduite avec les commentaires de colonnes. [#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">
  ### Version de ClickHouse 19.1.8, 2019-02-16
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Correction du paquet d’installation lorsque `/etc/clickhouse-server/config.xml` est manquant. [#4343](https://github.com/ClickHouse/ClickHouse/pull/4343) ([proller](https://github.com/proller))

<div id="clickhouse-release-19-1-1">
  ## Version 19.1 de ClickHouse
</div>

<div id="clickhouse-release-19-1-7-2019-02-15">
  ### Version de ClickHouse 19.1.7, 2019-02-15
</div>

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Renvoie correctement le bon type et gère correctement les verrous dans la fonction `joinGet`. [#4153](https://github.com/ClickHouse/ClickHouse/pull/4153) ([Amos Bird](https://github.com/amosbird))
* Correction d’une erreur lors de la recréation des logs système à l’arrêt du serveur. [#4254](https://github.com/ClickHouse/ClickHouse/pull/4254) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une erreur : s’il existe une base de données avec le moteur `Dictionary`, tous les dictionnaires étaient forcés à se charger au démarrage du serveur, et si l’un d’eux avait une source ClickHouse sur localhost, il ne pouvait pas être chargé. [#4255](https://github.com/ClickHouse/ClickHouse/pull/4255) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug où l’exécution de mutations contenant des opérateurs `IN` produisait des résultats incorrects. [#4099](https://github.com/ClickHouse/ClickHouse/pull/4099) ([Alex Zatelepin](https://github.com/ztlpn))
* `clickhouse-client` peut provoquer un segfault à la fermeture pendant le chargement des données pour les suggestions en ligne de commande s’il est exécuté en mode interactif. [#4317](https://github.com/ClickHouse/ClickHouse/pull/4317) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’une race condition pouvant renvoyer l’erreur `table does not exist` lors d’une sélection depuis `system.tables`. [#4313](https://github.com/ClickHouse/ClickHouse/pull/4313) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un interblocage lorsqu’un `SELECT` sur une table avec le moteur `File` était relancé après une erreur `No such file or directory`. [#4161](https://github.com/ClickHouse/ClickHouse/pull/4161) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un problème : les dictionnaires ClickHouse locaux étaient chargés via TCP, alors qu’ils devraient l’être dans le processus. [#4166](https://github.com/ClickHouse/ClickHouse/pull/4166) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de l’erreur `No message received` lors des interactions avec le PostgreSQL ODBC Driver via une connexion TLS. Corrige également un segfault lors de l’utilisation du MySQL ODBC Driver. [#4170](https://github.com/ClickHouse/ClickHouse/pull/4170) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Désactivation temporaire de l’optimisation des prédicats pour `ORDER BY`. [#3890](https://github.com/ClickHouse/ClickHouse/pull/3890) ([Winter Zhang](https://github.com/zhang2014))
* Correction d’une boucle infinie lors d’une sélection depuis la fonction de table `numbers(0)`. [#4280](https://github.com/ClickHouse/ClickHouse/pull/4280) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug de `compile_expressions` lors de la comparaison de grandes dates (supérieures à int16). [#4341](https://github.com/ClickHouse/ClickHouse/pull/4341) ([alesapin](https://github.com/alesapin))
* Correction d’un segfault avec `uncompressed_cache=1` et d’une exception liée à une taille non compressée incorrecte. [#4186](https://github.com/ClickHouse/ClickHouse/pull/4186) ([alesapin](https://github.com/alesapin))
* Correction de `ALL JOIN` avec des doublons dans la table de droite. [#4184](https://github.com/ClickHouse/ClickHouse/pull/4184) ([Artem Zuikov](https://github.com/4ertus2))
* Correction d’un comportement incorrect lors de l’exécution d’une requête `INSERT ... SELECT ... FROM file(...)` lorsque le fichier a le format `CSVWithNames` ou `TSVWIthNames` et que la première ligne de données est manquante. [#4297](https://github.com/ClickHouse/ClickHouse/pull/4297) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de l’exécution des fonctions d’agrégation avec des arguments `Array(LowCardinality)`. [#4055](https://github.com/ClickHouse/ClickHouse/pull/4055) ([KochetovNicolai](https://github.com/KochetovNicolai))
* paquet Debian : correction du lien /etc/clickhouse-server/preprocessed en fonction de la config. [#4205](https://github.com/ClickHouse/ClickHouse/pull/4205) ([proller](https://github.com/proller))
* Correction du test de fuzzing avec undefined behavior sanitizer : ajout d’une vérification du type de paramètre pour la famille de fonctions `quantile*Weighted`. [#4145](https://github.com/ClickHouse/ClickHouse/pull/4145) ([alexey-milovidov](https://github.com/alexey-milovidov))
* La commande `START REPLICATED SENDS` démarre désormais les envois répliqués. [#4229](https://github.com/ClickHouse/ClickHouse/pull/4229) ([nvartolomei](https://github.com/nvartolomei))
* Correction de `Not found column` pour les colonnes en double dans la section JOIN ON. [#4279](https://github.com/ClickHouse/ClickHouse/pull/4279) ([Artem Zuikov](https://github.com/4ertus2))
* Désormais, `/etc/ssl` est utilisé comme répertoire par défaut pour les certificats SSL. [#4167](https://github.com/ClickHouse/ClickHouse/pull/4167) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un crash lors du rechargement d’un dictionnaire si celui-ci n’est pas disponible. [#4188](https://github.com/ClickHouse/ClickHouse/pull/4188) ([proller](https://github.com/proller))
* Correction d’un bug lié à une comparaison incorrecte entre `Date` et `DateTime`. [#4237](https://github.com/ClickHouse/ClickHouse/pull/4237) ([valexey](https://github.com/valexey))
* Correction d’un résultat incorrect lorsque des arguments `Date` et `DateTime` sont utilisés dans les branches de l’opérateur conditionnel (fonction `if`). Ajout d’un cas générique pour la fonction `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">
  ### Version de ClickHouse 19.1.6, 2019-01-24
</div>

<div id="new-features">
  #### Nouvelles fonctionnalités
</div>

* Codecs de compression personnalisés pour chaque colonne des tables. [#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))
* Ajout du codec de compression `Delta`. [#4052](https://github.com/ClickHouse/ClickHouse/pull/4052) ([alesapin](https://github.com/alesapin))
* Possibilité d'utiliser `ALTER` sur les codecs de compression. [#4054](https://github.com/ClickHouse/ClickHouse/pull/4054) ([alesapin](https://github.com/alesapin))
* Ajout des fonctions `left`, `right`, `trim`, `ltrim`, `rtrim`, `timestampadd`, `timestampsub` pour assurer la compatibilité avec le standard SQL. [#3826](https://github.com/ClickHouse/ClickHouse/pull/3826) ([Ivan Blinkov](https://github.com/blinkov))
* Prise en charge de l'écriture dans les tables `HDFS` et dans la fonction de table `hdfs`. [#4084](https://github.com/ClickHouse/ClickHouse/pull/4084) ([alesapin](https://github.com/alesapin))
* Ajout de fonctions permettant de rechercher plusieurs chaînes constantes dans une grande chaîne : `multiPosition`, `multiSearch`, `firstMatch`, ainsi que leurs variantes `-UTF8`, `-CaseInsensitive` et `-CaseInsensitiveUTF8`. [#4053](https://github.com/ClickHouse/ClickHouse/pull/4053) ([Danila Kutenin](https://github.com/danlark1))
* Élagage des shards inutilisés si la requête `SELECT` filtre sur la clé de sharding (paramètre `optimize_skip_unused_shards`). [#3851](https://github.com/ClickHouse/ClickHouse/pull/3851) ([Gleb Kanterov](https://github.com/kanterov), [Ivan](https://github.com/abyss7))
* Le moteur `Kafka` peut ignorer un certain nombre d'erreurs de parsing par bloc. [#4094](https://github.com/ClickHouse/ClickHouse/pull/4094) ([Ivan](https://github.com/abyss7))
* Ajout de la prise en charge de l'évaluation des modèles multiclasses `CatBoost`. La fonction `modelEvaluate` renvoie un tuple contenant les prédictions brutes par classe pour les modèles multiclasses. `libcatboostmodel.so` doit être compilé avec [#607](https://github.com/catboost/catboost/pull/607). [#3959](https://github.com/ClickHouse/ClickHouse/pull/3959) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Ajout des fonctions `filesystemAvailable`, `filesystemFree`, `filesystemCapacity`. [#4097](https://github.com/ClickHouse/ClickHouse/pull/4097) ([Boris Granveaud](https://github.com/bgranvea))
* Ajout des fonctions de hachage `xxHash64` et `xxHash32`. [#3905](https://github.com/ClickHouse/ClickHouse/pull/3905) ([filimonov](https://github.com/filimonov))
* Ajout de la fonction de hachage `gccMurmurHash` (variante GCC de Murmur hash), qui utilise la même valeur d'initialisation de hachage que [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))
* Ajout des fonctions de hachage `javaHash`, `hiveHash`. [#3811](https://github.com/ClickHouse/ClickHouse/pull/3811) ([shangshujie365](https://github.com/shangshujie365))
* Ajout de la fonction de table `remoteSecure`. Cette fonction fonctionne comme `remote`, mais utilise une connexion sécurisée. [#4088](https://github.com/ClickHouse/ClickHouse/pull/4088) ([proller](https://github.com/proller))

<div id="experimental-features">
  #### Fonctionnalités expérimentales
</div>

* Ajout de l’émulation de plusieurs JOIN (`allow_experimental_multiple_joins_emulation` setting). [#3946](https://github.com/ClickHouse/ClickHouse/pull/3946) ([Artem Zuikov](https://github.com/4ertus2))

<div id="bug-fix-10">
  #### Corrections de bugs
</div>

* Limitation par défaut du paramètre `compiled_expression_cache_size` afin de réduire la consommation mémoire. [#4041](https://github.com/ClickHouse/ClickHouse/pull/4041) ([alesapin](https://github.com/alesapin))
* Correction d’un bug qui entraînait des blocages dans les threads effectuant des ALTER sur des tables Replicated, ainsi que dans le thread chargé de mettre à jour la configuration depuis 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))
* Correction d’une race condition lors de l’exécution d’une tâche ALTER distribuée. Cette race condition faisait que plusieurs répliques tentaient d’exécuter la tâche, et que toutes sauf une échouaient avec une erreur ZooKeeper. [#3904](https://github.com/ClickHouse/ClickHouse/pull/3904) ([Alex Zatelepin](https://github.com/ztlpn))
* Correction d’un bug où les éléments de configuration `from_zk` n’étaient pas actualisés après l’expiration du délai d’une requête adressée à ZooKeeper. [#2947](https://github.com/ClickHouse/ClickHouse/issues/2947) [#3947](https://github.com/ClickHouse/ClickHouse/pull/3947) ([Alex Zatelepin](https://github.com/ztlpn))
* Correction d’un bug lié à un préfixe incorrect pour les masques de sous-réseau IPv4. [#3945](https://github.com/ClickHouse/ClickHouse/pull/3945) ([alesapin](https://github.com/alesapin))
* Correction d’un crash (`std::terminate`) dans de rares cas où un nouveau thread ne peut pas être créé faute de ressources. [#3956](https://github.com/ClickHouse/ClickHouse/pull/3956) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug lors de l’exécution de la table function `remote`, lorsque de mauvaises restrictions étaient utilisées dans `getStructureOfRemoteTable`. [#4009](https://github.com/ClickHouse/ClickHouse/pull/4009) ([alesapin](https://github.com/alesapin))
* Correction d’une fuite de sockets netlink. Ils étaient placés dans un pool où ils n’étaient jamais supprimés, et de nouveaux sockets étaient créés au démarrage d’un nouveau thread lorsque tous les sockets existants étaient déjà utilisés. [#4017](https://github.com/ClickHouse/ClickHouse/pull/4017) ([Alex Zatelepin](https://github.com/ztlpn))
* Correction d’un bug lié à la fermeture du répertoire `/proc/self/fd` avant que tous les descripteurs de fichiers n’aient été lus depuis `/proc`, après le fork du sous-processus `odbc-bridge`. [#4120](https://github.com/ClickHouse/ClickHouse/pull/4120) ([alesapin](https://github.com/alesapin))
* Correction de la conversion monotone de String vers UInt en cas d’utilisation de String dans la clé primaire. [#3870](https://github.com/ClickHouse/ClickHouse/pull/3870) ([Winter Zhang](https://github.com/zhang2014))
* Correction d’une erreur dans le calcul de la monotonie de la fonction de conversion d’entiers. [#3921](https://github.com/ClickHouse/ClickHouse/pull/3921) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un segfault dans les fonctions `arrayEnumerateUniq` et `arrayEnumerateDense` en cas d’arguments invalides. [#3909](https://github.com/ClickHouse/ClickHouse/pull/3909) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un UB dans StorageMerge. [#3910](https://github.com/ClickHouse/ClickHouse/pull/3910) ([Amos Bird](https://github.com/amosbird))
* Correction d’un segfault dans les fonctions `addDays` et `subtractDays`. [#3913](https://github.com/ClickHouse/ClickHouse/pull/3913) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de l’erreur suivante : les fonctions `round`, `floor`, `trunc` et `ceil` pouvaient renvoyer un résultat erroné lorsqu’elles étaient exécutées sur un argument entier avec une grande valeur négative de scale. [#3914](https://github.com/ClickHouse/ClickHouse/pull/3914) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un bug provoqué par 'kill query sync' qui entraînait un core dump. [#3916](https://github.com/ClickHouse/ClickHouse/pull/3916) ([muVulDeePecker](https://github.com/fancyqlx))
* Correction d’un bug causant un long délai après une file de réplication vide. [#3928](https://github.com/ClickHouse/ClickHouse/pull/3928) [#3932](https://github.com/ClickHouse/ClickHouse/pull/3932) ([alesapin](https://github.com/alesapin))
* Correction d’une consommation mémoire excessive lors de l’insertion dans une table avec une clé primaire `LowCardinality`. [#3955](https://github.com/ClickHouse/ClickHouse/pull/3955) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Correction de la sérialisation `LowCardinality` pour le format `Native` dans le cas de tableaux vides. [#3907](https://github.com/ClickHouse/ClickHouse/issues/3907) [#4011](https://github.com/ClickHouse/ClickHouse/pull/4011) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Correction d’un résultat incorrect lors de l’utilisation de distinct sur une seule colonne numérique LowCardinality. [#3895](https://github.com/ClickHouse/ClickHouse/issues/3895) [#4012](https://github.com/ClickHouse/ClickHouse/pull/4012) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Correction de l’agrégation spécialisée avec une clé LowCardinality (lorsque le paramètre `compile` est activé). [#3886](https://github.com/ClickHouse/ClickHouse/pull/3886) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Correction de la transmission de l’utilisateur et du mot de passe pour les requêtes sur des tables répliquées. [#3957](https://github.com/ClickHouse/ClickHouse/pull/3957) ([alesapin](https://github.com/alesapin)) ([小路](https://github.com/nicelulu))
* Correction d’une condition de concurrence très rare pouvant se produire lors de l’énumération des tables dans la base de données Dictionary pendant le rechargement des dictionnaires. [#3970](https://github.com/ClickHouse/ClickHouse/pull/3970) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d’un résultat incorrect lorsque HAVING était utilisé avec ROLLUP ou CUBE. [#3756](https://github.com/ClickHouse/ClickHouse/issues/3756) [#3837](https://github.com/ClickHouse/ClickHouse/pull/3837) ([Sam Chou](https://github.com/reflection))
* Correction des alias de colonnes pour les requêtes utilisant la syntaxe `JOIN ON` et des tables distribuées. [#3980](https://github.com/ClickHouse/ClickHouse/pull/3980) ([Winter Zhang](https://github.com/zhang2014))
* Correction d’une erreur dans l’implémentation interne de `quantileTDigest` (trouvée par Artem Vakhrushev). Cette erreur ne se produit jamais dans ClickHouse et ne concernait que ceux qui utilisent directement le code source de ClickHouse comme bibliothèque. [#3935](https://github.com/ClickHouse/ClickHouse/pull/3935) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="improvements">
  #### Améliorations
</div>

* Prise en charge de `IF NOT EXISTS` dans les instructions `ALTER TABLE ADD COLUMN`, ainsi que de `IF EXISTS` dans `DROP/MODIFY/CLEAR/COMMENT COLUMN`. [#3900](https://github.com/ClickHouse/ClickHouse/pull/3900) ([Boris Granveaud](https://github.com/bgranvea))
* Fonction `parseDateTimeBestEffort` : prise en charge des formats `DD.MM.YYYY`, `DD.MM.YY`, `DD-MM-YYYY`, `DD-Mon-YYYY`, `DD/Month/YYYY` et formats similaires. [#3922](https://github.com/ClickHouse/ClickHouse/pull/3922) ([alexey-milovidov](https://github.com/alexey-milovidov))
* `CapnProtoInputStream` prend désormais en charge les structures irrégulières. [#4063](https://github.com/ClickHouse/ClickHouse/pull/4063) ([Odin Hultgren Van Der Horst](https://github.com/Miniwoffer))
* Amélioration de l’ergonomie : ajout d’une vérification pour s’assurer que le server process est démarré par le propriétaire du répertoire de données. Il n’est pas permis de démarrer le server en tant que root si les données appartiennent à un utilisateur non root. [#3785](https://github.com/ClickHouse/ClickHouse/pull/3785) ([sergey-v-galtsev](https://github.com/sergey-v-galtsev))
* Amélioration de la logique de vérification des colonnes requises lors de l’analyse des requêtes avec des JOIN. [#3930](https://github.com/ClickHouse/ClickHouse/pull/3930) ([Artem Zuikov](https://github.com/4ertus2))
* Réduction du nombre de connexions lorsqu’un grand nombre de tables Distributed sont présentes sur un même server. [#3726](https://github.com/ClickHouse/ClickHouse/pull/3726) ([Winter Zhang](https://github.com/zhang2014))
* Prise en charge de la ligne de totaux pour la requête `WITH TOTALS` dans l’ODBC Driver. [#3836](https://github.com/ClickHouse/ClickHouse/pull/3836) ([Maksim Koritckiy](https://github.com/nightweb))
* Possibilité d’utiliser les `Enum` comme entiers dans la fonction if. [#3875](https://github.com/ClickHouse/ClickHouse/pull/3875) ([Ivan](https://github.com/abyss7))
* Ajout du paramètre `low_cardinality_allow_in_native_format`. S’il est désactivé, le type `LowCadrinality` n’est pas utilisé dans le format `Native`. [#3879](https://github.com/ClickHouse/ClickHouse/pull/3879) ([KochetovNicolai](https://github.com/KochetovNicolai))
* Suppression de certains objets redondants du cache des compiled expressions afin de réduire l’utilisation de la mémoire. [#4042](https://github.com/ClickHouse/ClickHouse/pull/4042) ([alesapin](https://github.com/alesapin))
* Ajout d’une vérification pour s’assurer que la requête `SET send_logs_level = 'value'` accepte une valeur appropriée. [#3873](https://github.com/ClickHouse/ClickHouse/pull/3873) ([Sabyanin Maxim](https://github.com/s-mx))
* Correction de la vérification du type de données dans les fonctions de conversion. [#3896](https://github.com/ClickHouse/ClickHouse/pull/3896) ([Winter Zhang](https://github.com/zhang2014))

<div id="performance-improvements">
  #### Améliorations des performances
</div>

* Ajout d’un paramètre MergeTree `use_minimalistic_part_header_in_zookeeper`. S’il est activé, les tables répliquées stockeront les métadonnées des parts compactes dans un unique znode de part. Cela peut réduire considérablement la taille des snapshots ZooKeeper (en particulier si les tables ont beaucoup de colonnes). Notez qu’après avoir activé ce paramètre, vous ne pourrez pas rétrograder vers une version qui ne le prend pas en charge. [#3960](https://github.com/ClickHouse/ClickHouse/pull/3960) ([Alex Zatelepin](https://github.com/ztlpn))
* Ajout d’une implémentation basée sur un DFA pour les fonctions `sequenceMatch` et `sequenceCount` lorsque le pattern ne contient pas de composante temporelle. [#4004](https://github.com/ClickHouse/ClickHouse/pull/4004) ([Léo Ercolanelli](https://github.com/ercolanelli-leo))
* Amélioration des performances de la sérialisation des nombres entiers. [#3968](https://github.com/ClickHouse/ClickHouse/pull/3968) ([Amos Bird](https://github.com/amosbird))
* Ajout d’un remplissage à gauche par des zéros pour PODArray afin que l’élément -1 soit toujours valide et initialisé à zéro. Il est utilisé pour le calcul sans branchement des offsets. [#3920](https://github.com/ClickHouse/ClickHouse/pull/3920) ([Amos Bird](https://github.com/amosbird))
* Retour à la version précédente de `jemalloc`, qui avait entraîné une dégradation des performances. [#4018](https://github.com/ClickHouse/ClickHouse/pull/4018) ([alexey-milovidov](https://github.com/alexey-milovidov))

<div id="backward-incompatible-changes-1">
  #### Changements incompatibles avec les versions précédentes
</div>

* Suppression de la fonctionnalité non documentée `ALTER MODIFY PRIMARY KEY`, remplacée par la commande `ALTER MODIFY ORDER BY`. [#3887](https://github.com/ClickHouse/ClickHouse/pull/3887) ([Alex Zatelepin](https://github.com/ztlpn))
* Suppression de la fonction `shardByHash`. [#3833](https://github.com/ClickHouse/ClickHouse/pull/3833) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Interdiction d’utiliser des sous-requêtes scalaires dont le résultat est de type `AggregateFunction`. [#3865](https://github.com/ClickHouse/ClickHouse/pull/3865) ([Ivan](https://github.com/abyss7))

<div id="buildtestingpackaging-improvements-6">
  #### Améliorations de la compilation, des tests et du packaging
</div>

* Ajout de la prise en charge de la compilation pour PowerPC (`ppc64le`). [#4132](https://github.com/ClickHouse/ClickHouse/pull/4132) ([Danila Kutenin](https://github.com/danlark1))
* Les tests fonctionnels avec état sont exécutés sur un jeu de données publiquement accessible. [#3969](https://github.com/ClickHouse/ClickHouse/pull/3969) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction d'une erreur empêchant le serveur de démarrer, avec le message `bash: /usr/bin/clickhouse-extract-from-config: Operation not permitted`, dans Docker ou systemd-nspawn. [#4136](https://github.com/ClickHouse/ClickHouse/pull/4136) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Mise à jour de la bibliothèque `rdkafka` vers la version v1.0.0-RC5. Utilisation de cppkafka au lieu de l'interface C brute. [#4025](https://github.com/ClickHouse/ClickHouse/pull/4025) ([Ivan](https://github.com/abyss7))
* Mise à jour de la bibliothèque `mariadb-client`. Correction d'un des problèmes détectés par UBSan. [#3924](https://github.com/ClickHouse/ClickHouse/pull/3924) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Quelques correctifs pour les builds 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))
* Ajout de l'exécution des tests avec build UBSan à chaque commit.
* Ajout de l'exécution de l'analyseur statique PVS-Studio à chaque commit.
* Correction de bugs détectés par PVS-Studio. [#4013](https://github.com/ClickHouse/ClickHouse/pull/4013) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction de problèmes de compatibilité avec glibc. [#4100](https://github.com/ClickHouse/ClickHouse/pull/4100) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Passage des images Docker à 18.10 et ajout d'un fichier de compatibilité pour glibc >= 2.28 [#3965](https://github.com/ClickHouse/ClickHouse/pull/3965) ([alesapin](https://github.com/alesapin))
* Ajout d'une variable d'environnement pour les utilisateurs qui ne souhaitent pas exécuter `chown` sur les répertoires dans l'image Docker du serveur. [#3967](https://github.com/ClickHouse/ClickHouse/pull/3967) ([alesapin](https://github.com/alesapin))
* Activation de la plupart des avertissements de `-Weverything` dans clang. Activation de `-Wpedantic`. [#3986](https://github.com/ClickHouse/ClickHouse/pull/3986) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Ajout de quelques avertissements supplémentaires disponibles uniquement dans clang 8. [#3993](https://github.com/ClickHouse/ClickHouse/pull/3993) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Liaison à `libLLVM` plutôt qu'aux bibliothèques LLVM individuelles lors de l'utilisation de l'édition de liens dynamique. [#3989](https://github.com/ClickHouse/ClickHouse/pull/3989) ([Orivej Desh](https://github.com/orivej))
* Ajout de variables de sanitizer pour les images de test. [#4072](https://github.com/ClickHouse/ClickHouse/pull/4072) ([alesapin](https://github.com/alesapin))
* Le paquet Debian `clickhouse-server` recommandera le paquet `libcap2-bin` pour utiliser l'outil `setcap` afin de définir les capabilities. Ceci est facultatif. [#4093](https://github.com/ClickHouse/ClickHouse/pull/4093) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Amélioration du temps de compilation, correction des inclusions. [#3898](https://github.com/ClickHouse/ClickHouse/pull/3898) ([proller](https://github.com/proller))
* Ajout de tests de performance pour les fonctions de hachage. [#3918](https://github.com/ClickHouse/ClickHouse/pull/3918) ([filimonov](https://github.com/filimonov))
* Correction des dépendances circulaires entre bibliothèques. [#3958](https://github.com/ClickHouse/ClickHouse/pull/3958) ([proller](https://github.com/proller))
* Compilation améliorée lorsque la mémoire disponible est limitée. [#4030](https://github.com/ClickHouse/ClickHouse/pull/4030) ([proller](https://github.com/proller))
* Ajout d'un script de test pour reproduire la dégradation des performances dans `jemalloc`. [#4036](https://github.com/ClickHouse/ClickHouse/pull/4036) ([alexey-milovidov](https://github.com/alexey-milovidov))
* Correction des fautes d'orthographe dans les commentaires et les littéraux de chaîne sous `dbms`. [#4122](https://github.com/ClickHouse/ClickHouse/pull/4122) ([maiha](https://github.com/maiha))
* Correction de coquilles dans les commentaires. [#4089](https://github.com/ClickHouse/ClickHouse/pull/4089) ([Evgenii Pravda](https://github.com/kvinty))

<div id="changelog-for-2018">
  ## [Journal des changements pour 2018](/fr/resources/changelogs/oss/2018)
</div>
