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

# changelog de la v25.4 pour Cloud

> changelog de la Fast release v25.4

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

* Le format de sortie Parquet convertit les colonnes Date et DateTime en types date/heure pris en charge par Parquet, au lieu de les écrire sous forme de nombres bruts. DateTime devient DateTime64(3) (au lieu de UInt32) ; le paramètre `output_format_parquet_datetime_as_uint32` rétablit l’ancien comportement. Date devient Date32 (au lieu de UInt16). [#70950](https://github.com/ClickHouse/ClickHouse/pull/70950) ([Michael Kolupaev](https://github.com/al13n321)).
* Par défaut, les types comparables (comme JSON/Object/AggregateFunction) ne sont plus autorisés dans ORDER BY ni dans les fonctions de comparaison `less/greater/equal/etc`. [#73276](https://github.com/ClickHouse/ClickHouse/pull/73276) ([Pavel Kruglov](https://github.com/Avogar)).
* `JSONEachRowWithProgress` écrira désormais la progression à chaque mise à jour. Dans les versions précédentes, la progression n’était affichée qu’après chaque bloc de résultat, ce qui la rendait inutile. Le mode d’affichage de la progression change : les valeurs nulles ne seront plus affichées. Gardez à l’esprit que la progression est envoyée même lorsqu’elle se produit fréquemment. Cela peut générer un volume de trafic important. Gardez également à l’esprit que la progression n’est pas écrite lorsque la sortie est compressée. Cela résout [#70800](https://github.com/ClickHouse/ClickHouse/issues/70800). [#73834](https://github.com/ClickHouse/ClickHouse/pull/73834) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La source de dictionnaire `mysql` n’exécute plus la requête `SHOW TABLE STATUS`, car elle n’apporte aucune valeur pour les tables InnoDB, y compris sur les versions récentes de MySQL. Cela résout [#72636](https://github.com/ClickHouse/ClickHouse/issues/72636). Ce changement est rétrocompatible, mais il est classé dans cette catégorie afin que vous ayez plus de chances de le remarquer. [#73914](https://github.com/ClickHouse/ClickHouse/pull/73914) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Les tables `Merge` unifieront la structure des tables sous-jacentes en utilisant l’union de leurs colonnes et en déduisant des types communs. Cela résout [#64864](https://github.com/ClickHouse/ClickHouse/issues/64864). Cela résout [#35307](https://github.com/ClickHouse/ClickHouse/issues/35307). Dans certains cas, ce changement peut être rétro-incompatible. Par exemple, lorsqu’il n’existe aucun type commun entre les tables, mais qu’une conversion vers le type de la première table reste possible, comme dans le cas de UInt64 et Int64, ou entre n’importe quel type numérique et String. Si vous souhaitez revenir à l’ancien comportement, définissez `merge_table_max_tables_to_look_for_schema_inference` sur `1` ou `compatibility` sur `24.12` ou une version antérieure. [#73956](https://github.com/ClickHouse/ClickHouse/pull/73956) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Les requêtes `CHECK TABLE` nécessitent désormais un privilège `CHECK` distinct. Dans les versions précédentes, il suffisait de disposer du privilège `SHOW TABLES` pour exécuter ces requêtes. Or, une requête `CHECK TABLE` peut être coûteuse, et les limites habituelles de complexité des requêtes `SELECT` ne s’y appliquent pas. Cela pouvait entraîner un risque de DoS. [#74471](https://github.com/ClickHouse/ClickHouse/pull/74471) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Vérifie que toutes les colonnes d’une vue matérialisée correspondent à celles de la table cible si `allow_materialized_view_with_bad_select` vaut `false`. [#74481](https://github.com/ClickHouse/ClickHouse/pull/74481) ([Christoph Wurm](https://github.com/cwurm)).
* La fonction `h3ToGeo()` renvoie désormais les résultats dans l’ordre `(lat, lon)` (qui est l’ordre standard des fonctions géométriques). Les utilisateurs qui souhaitent conserver l’ancien ordre des résultats `(lon, lat)` peuvent définir le paramètre `h3togeo_lon_lat_result_order = true`. [#74719](https://github.com/ClickHouse/ClickHouse/pull/74719) ([Manish Gill](https://github.com/mgill25)).
* Ajout des formats `JSONCompactEachRowWithProgress` et `JSONCompactStringsEachRowWithProgress`. Suite de [#69989](https://github.com/ClickHouse/ClickHouse/issues/69989). `JSONCompactWithNames` et `JSONCompactWithNamesAndTypes` ne produisent plus "totals" — il s’agissait apparemment d’une erreur d’implémentation. [#75037](https://github.com/ClickHouse/ClickHouse/pull/75037) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La valeur par défaut de `format_alter_operations_with_parentheses` passe à true afin de lever toute ambiguïté dans la liste des commandes alter (voir [https://github.com/ClickHouse/ClickHouse/pull/59532](https://github.com/ClickHouse/ClickHouse/pull/59532)). Cela casse la réplication avec les clusters antérieurs à 24.3. Si vous mettez à niveau un cluster utilisant des versions plus anciennes, désactivez ce paramètre dans la configuration du serveur ou mettez d’abord à niveau vers 24.3. [#75302](https://github.com/ClickHouse/ClickHouse/pull/75302) ([Raúl Marín](https://github.com/Algunenano)).
* Interdit `TRUNCATE DATABASE` pour les bases de données répliquées. [#76651](https://github.com/ClickHouse/ClickHouse/pull/76651) ([Bharat Nallan](https://github.com/bharatnc)).
* Désactive les répliques parallèles par défaut lorsque l’analyzer est désactivé, quel que soit le paramètre `compatibility`. Il reste possible de modifier ce comportement en définissant explicitement `parallel_replicas_only_with_analyzer` sur `false`. [#77115](https://github.com/ClickHouse/ClickHouse/pull/77115) ([Igor Nikonov](https://github.com/devcrafter)).
* Il n’est plus possible d’utiliser `NaN` ou `inf` comme valeurs flottantes pour les paramètres. [#77546](https://github.com/ClickHouse/ClickHouse/pull/77546) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige les cas où `dateTrunc` est utilisé avec des arguments `Date`/`DateTime` négatifs. [#77622](https://github.com/ClickHouse/ClickHouse/pull/77622) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* L’ancienne intégration MongoDB a été supprimée. Le paramètre du serveur `use_legacy_mongodb_integration` est devenu obsolète et n’a désormais plus aucun effet. [#77895](https://github.com/ClickHouse/ClickHouse/pull/77895) ([Robert Schulze](https://github.com/rschu1ze)).
* Améliore la validation de SummingMergeTree afin d’ignorer l’agrégation des colonnes utilisées dans les clés de partitionnement ou de tri. [#78022](https://github.com/ClickHouse/ClickHouse/pull/78022) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).

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

* Ajout d’un cache en mémoire pour les granules désérialisés des index de saut. Cela devrait accélérer les requêtes répétées qui utilisent des index de saut. La taille du nouveau cache est contrôlée par les paramètres serveur `skipping_index_cache_size` et `skipping_index_cache_max_entries`. La motivation initiale de ce cache était les index de similarité vectorielle, qui sont désormais beaucoup plus rapides. [#70102](https://github.com/ClickHouse/ClickHouse/pull/70102) ([Robert Schulze](https://github.com/rschu1ze)).
* Nouvelle implémentation du Userspace Page Cache, qui permet de mettre les données en cache dans la mémoire du processus au lieu de s’appuyer sur le cache de pages de l’OS. Elle est utile lorsque les données sont stockées sur un système de fichiers virtuel distant sans bénéficier du cache du système de fichiers local. [#70509](https://github.com/ClickHouse/ClickHouse/pull/70509) ([Michael Kolupaev](https://github.com/al13n321)).
* Ajout d’un paramètre pour interroger les tables Iceberg à un timestamp spécifique. [#71072](https://github.com/ClickHouse/ClickHouse/pull/71072) ([Brett Hoerner](https://github.com/bretthoerner)).
* Implémentation de l’élagage de partitions pour les tables Iceberg lors des opérations de partitionnement par transformation liées au temps dans Iceberg. [#72044](https://github.com/ClickHouse/ClickHouse/pull/72044) ([Daniil Ivanik](https://github.com/divanik)).
* Ajout de la possibilité de créer par défaut des index min-max (de saut) pour les colonnes gérées par MergeTree à l’aide des paramètres `enable_minmax_index_for_all_numeric_columns` (pour les colonnes numériques) et `enable_minmax_index_for_all_string_columns` (pour les colonnes de type chaîne). Pour l’instant, les deux paramètres sont désactivés, il n’y a donc encore aucun changement de comportement. [#72090](https://github.com/ClickHouse/ClickHouse/pull/72090) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Ajout de la fonction d’agrégation `sequenceMatchEvents`, qui renvoie les timestamps des événements correspondants pour la plus longue chaîne d’événements d’un motif. [#72349](https://github.com/ClickHouse/ClickHouse/pull/72349) ([UnamedRus](https://github.com/UnamedRus)).
* Les instructions `SELECT` et `VIEW` prennent désormais en charge les alias, par ex. `SELECT b FROM (SELECT number, number*2 FROM numbers(2)) AS x (a, b);`. Cela permet à la requête TPC-H 15 de s’exécuter sans modification. [#72480](https://github.com/ClickHouse/ClickHouse/pull/72480) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Ajout d’un nouveau paramètre `enable_adaptive_memory_spill_scheduler` qui permet à plusieurs grace JOIN dans une même requête de surveiller leur empreinte mémoire combinée et de déclencher de manière adaptative le déversement vers un stockage externe afin d’éviter MEMORY\_LIMIT\_EXCEEDED. [#72728](https://github.com/ClickHouse/ClickHouse/pull/72728) ([lgbo](https://github.com/lgbo-ustc)).
* Ajout de la fonction `arrayNormalizedGini`. [#72823](https://github.com/ClickHouse/ClickHouse/pull/72823) ([flynn](https://github.com/ucasfl)).
* Prise en charge des types de données Decimal à faible cardinalité, correction de [#72256](https://github.com/ClickHouse/ClickHouse/issues/72256). [#72833](https://github.com/ClickHouse/ClickHouse/pull/72833) ([zhanglistar](https://github.com/zhanglistar)).
* Lorsque `min_age_to_force_merge_seconds` et `min_age_to_force_merge_on_partition_only` sont tous deux activés, la fusion des parts ignorera la limite maximale en octets. [#73656](https://github.com/ClickHouse/ClickHouse/pull/73656) ([Kai Zhu](https://github.com/nauu)).
* Prise en charge de la lecture des valeurs HALF\_FLOAT depuis Apache Arrow/Parquet/ORC (elles sont lues en Float32). Cela corrige [#72960](https://github.com/ClickHouse/ClickHouse/issues/72960). Gardez à l’esprit que le half float IEEE-754 n’est pas identique à BFloat16. Corrige [#73835](https://github.com/ClickHouse/ClickHouse/issues/73835). [#73836](https://github.com/ClickHouse/ClickHouse/pull/73836) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La table `system.trace_log` contiendra deux nouvelles colonnes, `symbols` et `lines`, contenant une stack trace symbolisée. Cela facilite la collecte et l’export des informations de profilage. Ce comportement est contrôlé par la valeur de configuration du serveur `symbolize` dans `trace_log` et est activé par défaut. [#73896](https://github.com/ClickHouse/ClickHouse/pull/73896) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout d’une nouvelle fonction, `generateSerialID`, qui permet de générer des nombres auto-incrémentés dans les tables. Suite de [#64310](https://github.com/ClickHouse/ClickHouse/issues/64310) par [kazalika](https://github.com/kazalika). Cela clôt [#62485](https://github.com/ClickHouse/ClickHouse/issues/62485). [#73950](https://github.com/ClickHouse/ClickHouse/pull/73950) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout de la syntaxe `query1 PARALLEL WITH query2 PARALLEL WITH query3 ... PARALLEL WITH queryN`. Cela signifie que les sous-requêtes `{query1, query2, ... queryN}` peuvent s’exécuter en parallèle les unes par rapport aux autres (et c’est préférable). [#73983](https://github.com/ClickHouse/ClickHouse/pull/73983) ([Vitaly Baranov](https://github.com/vitlibar)).
* Désormais, l’interface Play affiche une barre de progression pendant l’exécution des requêtes. Elle permet d’annuler les requêtes. Elle affiche le nombre total d’enregistrements ainsi que des informations détaillées sur la vitesse. La table peut être affichée de manière incrémentale dès l’arrivée des données. La compression HTTP est activée. Le rendu de la table est devenu plus rapide. L’en-tête de la table reste désormais fixe. Il est possible de sélectionner des cellules et de s’y déplacer avec les touches fléchées. Correction d’un problème où le contour de la cellule sélectionnée la faisait paraître plus petite. Les cellules ne s’agrandissent plus au survol de la souris, mais uniquement lors de la sélection. Le moment où arrêter le rendu des données entrantes est désormais décidé côté client plutôt que côté serveur. Les groupes de chiffres dans les nombres sont mis en évidence. L’apparence générale a été revue et est devenue plus marquée. L’interface vérifie si le serveur est joignable ainsi que la validité des identifiants, puis affiche la version du serveur et sa durée de fonctionnement. L’icône de cloud a un contour dans toutes les polices, y compris dans Safari. Les grands entiers dans les types de données imbriqués seront mieux affichés. `inf/nan` sera affiché correctement. Les types de données seront affichés au survol d’un en-tête de colonne. [#74204](https://github.com/ClickHouse/ClickHouse/pull/74204) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout de la possibilité de créer par défaut des index min-max (skipping) pour les colonnes gérées par MergeTree à l’aide des paramètres `add_minmax_index_for_numeric_columns` (pour les colonnes numériques) et `add_minmax_index_for_string_columns` (pour les colonnes de type chaîne). Pour l’instant, ces deux paramètres sont désactivés, il n’y a donc pas encore de changement de comportement. [#74266](https://github.com/ClickHouse/ClickHouse/pull/74266) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Ajout des champs `script_query_number` et `script_line_number` à `system.query_log`, à ClientInfo dans le native protocol, ainsi qu’aux journaux du serveur. Cela clôt [#67542](https://github.com/ClickHouse/ClickHouse/issues/67542). Merci à [pinsvin00](https://github.com/pinsvin00) d’avoir lancé cette fonctionnalité plus tôt dans [#68133](https://github.com/ClickHouse/ClickHouse/issues/68133). [#74477](https://github.com/ClickHouse/ClickHouse/pull/74477) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout de la prise en charge de l’opérateur moins pour DateTime64, afin d’autoriser la soustraction entre des valeurs DateTime64, ainsi qu’entre des valeurs DateTime. [#74482](https://github.com/ClickHouse/ClickHouse/pull/74482) ([Li Yin](https://github.com/liyinsg)).
* Prise en charge du moteur de table DeltaLake pour AzureBlobStorage. Corrige [#68043](https://github.com/ClickHouse/ClickHouse/issues/68043). [#74541](https://github.com/ClickHouse/ClickHouse/pull/74541) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Ajout du paramètre bind\_host pour définir l’adresse IP source des connexions du clickhouse client. [#74741](https://github.com/ClickHouse/ClickHouse/pull/74741) ([Todd Yocum](https://github.com/toddyocum)).
* Ajout de la possibilité d’appliquer immédiatement, pendant l’exécution des requêtes `SELECT` et juste après leur soumission, des mutations non terminées (non matérialisées par un processus en arrière-plan). Cela peut être activé en définissant `apply_mutations_on_fly`. [#74877](https://github.com/ClickHouse/ClickHouse/pull/74877) ([Anton Popov](https://github.com/CurtizJ)).
* Correction de certains cas auparavant inattendus où les arguments DateTime de `toStartOfInterval` sont négatifs. Cela a été fait en implémentant une nouvelle fonction appelée toStartOfIntervalAllowNegative, qui fait globalement la même chose mais ne renvoie que des valeurs Date32/DateTime64. [#74933](https://github.com/ClickHouse/ClickHouse/pull/74933) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Une nouvelle fonction initialQueryStartTime a été ajoutée. Elle renvoie l’heure de début de la requête en cours. La valeur est identique sur tous les shards lors d’une distributed query. [#75087](https://github.com/ClickHouse/ClickHouse/pull/75087) ([Roman Lomonosov](https://github.com/lomik)).
* Introduction de parametrized\_view\_parameters dans system.tables. Closes [https://github.com/clickhouse/clickhouse/issues/66756](https://github.com/clickhouse/clickhouse/issues/66756). [#75112](https://github.com/ClickHouse/ClickHouse/pull/75112) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Possibilité de modifier un database comment. Closes [#73351](https://github.com/ClickHouse/ClickHouse/issues/73351) ### Entrée de documentation pour les changements visibles par l’utilisateur. [#75622](https://github.com/ClickHouse/ClickHouse/pull/75622) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Ajout de la possibilité d’utiliser ATTACH sur des tables sans couche database (évite le contournement par UUID). [#75788](https://github.com/ClickHouse/ClickHouse/pull/75788) ([Azat Khuzhin](https://github.com/azat)).
* Ajout du server setting `concurrent_threads_scheduler`, qui régit la manière dont les CPU slots sont répartis entre les requêtes concurrentes. Il peut être défini sur `round_robin` (comportement précédent) ou `fair_round_robin` pour corriger le problème de répartition inéquitable du CPU entre les INSERT et les SELECT. [#75949](https://github.com/ClickHouse/ClickHouse/pull/75949) ([Sergei Trifonov](https://github.com/serxa)).
* Restauration du codec QPL, qui avait été supprimé dans la v24.10 en raison de problèmes de licence. [#76021](https://github.com/ClickHouse/ClickHouse/pull/76021) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Ajout de la fonction `arraySymmetricDifference`. Elle renvoie tous les éléments de plusieurs arguments Array qui ne sont pas présents dans tous les arguments. Example : `SELECT arraySymmetricDifference([1, 2], [2, 3])` renvoie `[1, 3]`. (issue [#61673](https://github.com/ClickHouse/ClickHouse/issues/61673)). [#76231](https://github.com/ClickHouse/ClickHouse/pull/76231) ([Filipp Abapolov](https://github.com/pheepa)).
* Ajout de la fonction d’agrégation `estimatecompressionratio` - voir [#70801](https://github.com/ClickHouse/ClickHouse/issues/70801). [#76661](https://github.com/ClickHouse/ClickHouse/pull/76661) ([Tariq Almawash](https://github.com/talmawash)).
* Les profile events `FilterTransformPassedRows` et `FilterTransformPassedBytes` afficheront le nombre de rows et d’octets filtrés pendant l’exécution de la requête. [#76662](https://github.com/ClickHouse/ClickHouse/pull/76662) ([Onkar Deshpande](https://github.com/onkar)).
* Ajout de la hash function keccak256, couramment utilisée dans les implémentations blockchain, en particulier dans les systèmes basés sur l’EVM. [#76669](https://github.com/ClickHouse/ClickHouse/pull/76669) ([Arnaud Briche](https://github.com/arnaudbriche)).
* Scram SHA256 & mise à jour de l’authentification wire de Postgres. [#76839](https://github.com/ClickHouse/ClickHouse/pull/76839) ([scanhex12](https://github.com/scanhex12)).
* Cette fonctionnalité ajoute la possibilité de définir une liste de headers transmis depuis les headers de la requête client vers l’authentificateur http externe. [#77054](https://github.com/ClickHouse/ClickHouse/pull/77054) ([inv2004](https://github.com/inv2004)).
* Prise en charge de `IcebergMetadataFilesCache`, qui stocke les fichiers manifestes/la liste et metadata.json dans un cache unique. [#77156](https://github.com/ClickHouse/ClickHouse/pull/77156) ([Han Fei](https://github.com/hanfei1991)).
* Ajout des fonctions `arrayLevenshteinDistance`, `arrayLevenshteinDistanceWeighted` et `arraySimilarity`. [#77187](https://github.com/ClickHouse/ClickHouse/pull/77187) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Ajout de trois nouvelles fonctions : `icebergTruncate` conformément à la spécification [https://iceberg.apache.org/spec/#truncate-transform-details](https://iceberg.apache.org/spec/#truncate-transform-details), `toYearNumSinceEpoch` et `toMonthNumSinceEpoch`. Prise en charge de la transformation `truncate` dans le partition pruning pour le moteur `Iceberg`. [#77403](https://github.com/ClickHouse/ClickHouse/pull/77403) ([alesapin](https://github.com/alesapin)).
* Permet à l'utilisateur d'interroger l'état d'une table Iceberg tel qu'il existait à un moment antérieur. [#77439](https://github.com/ClickHouse/ClickHouse/pull/77439) ([Daniil Ivanik](https://github.com/divanik)).
* Ajout de l'ordonnancement des CPU slots pour les workloads, voir [https://clickhouse.com/docs/operations/workload-scheduling#cpu\&#95;scheduling](https://clickhouse.com/docs/operations/workload-scheduling#cpu\&#95;scheduling) pour plus de détails. [#77595](https://github.com/ClickHouse/ClickHouse/pull/77595) ([Sergei Trifonov](https://github.com/serxa)).
* La fonction `hasAll()` peut désormais tirer parti des skipping indices plein texte tokenbf\_v1 et ngrambf\_v1. [#77662](https://github.com/ClickHouse/ClickHouse/pull/77662) ([UnamedRus](https://github.com/UnamedRus)).
* Le type de données `JSON` est prêt pour la production. Voir [https://jsonbench.com/](https://jsonbench.com/). Les types de données `Dynamic` et `Varaint` sont prêts pour la production. [#77785](https://github.com/ClickHouse/ClickHouse/pull/77785) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout d'un cache en mémoire pour les vector similarity indexes désérialisés. Cela devrait accélérer les requêtes répétées de recherche approximative des plus proches voisins (ANN). La taille du nouveau cache est contrôlée par les server settings `vector_similarity_index_cache_size` et `vector_similarity_index_cache_max_entries`. Cette fonctionnalité remplace le cache de skipping index des versions antérieures. [#77905](https://github.com/ClickHouse/ClickHouse/pull/77905) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Ajout des fonctions sparseGrams et sparseGramsHashes, avec leurs versions UTF8. Auteur : [scanhex12](https://github.com/scanhex12). [#78176](https://github.com/ClickHouse/ClickHouse/pull/78176) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Introduction de la fonction `toInterval`. Cette fonction accepte 2 arguments (value et unit) et convertit la valeur vers un type `Interval` spécifique. [#78723](https://github.com/ClickHouse/ClickHouse/pull/78723) ([Andrew Davis](https://github.com/pulpdrew)).

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

* Permet le nettoyage automatique par fusion de partitions entières après un délai configurable, grâce au nouveau paramètre `enable_replacing_merge_with_cleanup_for_min_age_to_force_merge`. [#76440](https://github.com/ClickHouse/ClickHouse/pull/76440) ([Christoph Wurm](https://github.com/cwurm)).
* Ajoute la prise en charge [d’Unity Catalog](https://www.databricks.com/product/unity-catalog) pour les tables DeltaLake sur AWS S3 et le système de fichiers local. [#76988](https://github.com/ClickHouse/ClickHouse/pull/76988) ([alesapin](https://github.com/alesapin)).
* Introduit une intégration expérimentale avec le catalogue de services AWS Glue pour les tables Iceberg. [#77257](https://github.com/ClickHouse/ClickHouse/pull/77257) ([alesapin](https://github.com/alesapin)).

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

* Optimise les performances avec la projection différée afin d’éviter de lire les colonnes inutilisées. [#55518](https://github.com/ClickHouse/ClickHouse/pull/55518) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Compare désormais d’abord les lignes en s’appuyant sur les colonnes les plus susceptibles d’être différentes. [#63780](https://github.com/ClickHouse/ClickHouse/pull/63780) ([UnamedRus](https://github.com/UnamedRus)).
* Optimise le format d’entrée RowBinary. Résout [#63805](https://github.com/ClickHouse/ClickHouse/issues/63805). [#65059](https://github.com/ClickHouse/ClickHouse/pull/65059) ([Pavel Kruglov](https://github.com/Avogar)).
* Accélère la désérialisation des chaînes grâce à une optimisation de bas niveau. [#65948](https://github.com/ClickHouse/ClickHouse/pull/65948) ([Nikita Taranov](https://github.com/nickitat)).
* Applique l’attribut `preserve_most` à certains endroits du code. [#67778](https://github.com/ClickHouse/ClickHouse/pull/67778) ([Nikita Taranov](https://github.com/nickitat)).
* Implémente le cache des conditions de requête afin d’améliorer les performances des requêtes utilisant des conditions répétées. La plage de données qui ne satisfait pas la condition est mémorisée sous forme d’index temporaire en mémoire. Les requêtes suivantes utiliseront cet index. Résout [#67768](https://github.com/ClickHouse/ClickHouse/issues/67768) ### Entrée de documentation pour les changements visibles par l’utilisateur. [#69236](https://github.com/ClickHouse/ClickHouse/pull/69236) ([zhongyuankai](https://github.com/zhongyuankai)).
* Prend en charge le préchargement asynchrone des E/S pour `NativeORCBlockInputFormat`, ce qui améliore les performances globales en masquant la latence des E/S distantes. Le gain peut atteindre 1,47× dans mon cas de test. [#70534](https://github.com/ClickHouse/ClickHouse/pull/70534) ([李扬](https://github.com/taiyang-li)).
* Améliore les performances du grace hash join en réordonnant la table de jointure de droite selon les clés. [#72237](https://github.com/ClickHouse/ClickHouse/pull/72237) ([kevinyhzou](https://github.com/KevinyhZou)).
* Rétablit la prise en compte de `ttl_only_drop_parts` dans `materialize ttl` ; lit uniquement les colonnes nécessaires pour recalculer le TTL et supprimer les parts en les remplaçant par une part vide. [#72751](https://github.com/ClickHouse/ClickHouse/pull/72751) ([Andrey Zvonov](https://github.com/zvonand)).
* Permet à `arrayROCAUC` et `arrayAUCPR` de calculer une aire partielle de la courbe complète, afin que leur calcul puisse être parallélisé sur de très grands jeux de données. [#72904](https://github.com/ClickHouse/ClickHouse/pull/72904) ([Emmanuel](https://github.com/emmanuelsdias)).
* Évite de créer trop de threads inactifs. [#72920](https://github.com/ClickHouse/ClickHouse/pull/72920) ([Guo Wangyang](https://github.com/guowangy)).
* La division par hachage des blocs de la table de gauche a été supprimée de la phase de sondage de l’algorithme JOIN `parallel_hash`. [#73089](https://github.com/ClickHouse/ClickHouse/pull/73089) ([Nikita Taranov](https://github.com/nickitat)).
* Ne liste pas les clés du stockage d’objets si seule l’expansion entre accolades est utilisée dans la fonction de table. Résout [#73333](https://github.com/ClickHouse/ClickHouse/issues/73333). [#73518](https://github.com/ClickHouse/ClickHouse/pull/73518) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Remplace Int256 et UInt256 par le type intégré i256 de clang dans les calculs arithmétiques, conformément aux tests de [#70502](https://github.com/ClickHouse/ClickHouse/issues/70502). [#73658](https://github.com/ClickHouse/ClickHouse/pull/73658) ([李扬](https://github.com/taiyang-li)).
* Ajoute une voie rapide pour les fonctions dont tous les types d’arguments sont numériques. Corrige les problèmes de performances dans [https://github.com/ClickHouse/ClickHouse/pull/72258](https://github.com/ClickHouse/ClickHouse/pull/72258). [#73820](https://github.com/ClickHouse/ClickHouse/pull/73820) ([李扬](https://github.com/taiyang-li)).
* Ne plus appliquer `maskedExecute` aux colonnes qui ne sont pas des fonctions, ce qui améliore les performances de l'exécution en court-circuit. [#73965](https://github.com/ClickHouse/ClickHouse/pull/73965) ([lgbo](https://github.com/lgbo-ustc)).
* Désactivation de la détection d'en-tête pour Kafka/NATS/RabbitMQ/FileLog afin d'améliorer les performances. [#74006](https://github.com/ClickHouse/ClickHouse/pull/74006) ([Azat Khuzhin](https://github.com/azat)).
* Utilisation des wrappers de log par valeur, sans allocation sur le tas. [#74034](https://github.com/ClickHouse/ClickHouse/pull/74034) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Exécution d'un pipeline avec un degré de parallélisme plus élevé après une agrégation avec grouping sets. [#74082](https://github.com/ClickHouse/ClickHouse/pull/74082) ([Nikita Taranov](https://github.com/nickitat)).
* Réduction de la section critique dans `MergeTreeReadPool`. [#74202](https://github.com/ClickHouse/ClickHouse/pull/74202) ([Guo Wangyang](https://github.com/guowangy)).
* Optimisation de la fonction `indexHint`. Désormais, les colonnes utilisées uniquement comme arguments de la fonction `indexHint` ne sont plus lues depuis la table. [#74314](https://github.com/ClickHouse/ClickHouse/pull/74314) ([Anton Popov](https://github.com/CurtizJ)).
* Amélioration des performances des parallel replicas. La désérialisation des paquets sur l'initiateur de la query, pour les paquets non liés au protocole des parallel replicas, s'effectue désormais toujours dans le thread du pipeline. Auparavant, elle pouvait se produire dans un thread chargé de l'ordonnancement du pipeline, ce qui pouvait rendre l'initiateur moins réactif et retarder l'exécution du pipeline. [#74398](https://github.com/ClickHouse/ClickHouse/pull/74398) ([Igor Nikonov](https://github.com/devcrafter)).
* Correction du calcul de la taille en mémoire pour les colonnes `LowCardinality`. [#74688](https://github.com/ClickHouse/ClickHouse/pull/74688) ([Nikita Taranov](https://github.com/nickitat)).
* Amélioration des performances de lecture d'une JSON column complète dans les Wide parts depuis S3. Cela repose sur l'ajout de prefetches pour la désérialisation des préfixes de subcolumn, d'un cache des préfixes désérialisés et de la désérialisation parallèle des préfixes de subcolumn. La lecture de la JSON column depuis S3 est ainsi 4 fois plus rapide pour une query comme `SELECT data FROM table`, et environ 10 fois plus rapide pour une query comme `SELECT data FROM table LIMIT 10`. [#74827](https://github.com/ClickHouse/ClickHouse/pull/74827) ([Pavel Kruglov](https://github.com/Avogar)).
* Préallocation de la mémoire utilisée par les async inserts afin d'améliorer les performances. [#74945](https://github.com/ClickHouse/ClickHouse/pull/74945) ([Ilya Golshtein](https://github.com/ilejn)).
* Correction de la double préallocation dans `ConcurrentHashJoin` lorsque les côtés de la jointure sont permutés par l'optimiseur. [#75149](https://github.com/ClickHouse/ClickHouse/pull/75149) ([Nikita Taranov](https://github.com/nickitat)).
* Correction d'une contention inutile dans `parallel_hash` lorsque `max_rows_in_join = max_bytes_in_join = 0`. [#75155](https://github.com/ClickHouse/ClickHouse/pull/75155) ([Nikita Taranov](https://github.com/nickitat)).
* Légère amélioration dans certains scénarios de jointure : précalcul du nombre de lignes en sortie et réservation de la mémoire correspondante. [#75376](https://github.com/ClickHouse/ClickHouse/pull/75376) ([Alexander Gololobov](https://github.com/davenger)).
* Les fichiers de métadonnées `plain_rewritable` sont petits et n'ont pas besoin d'un grand tampon par défaut. Utilisation d'un tampon d'écriture dimensionné de façon appropriée au chemin donné, ce qui améliore l'utilisation mémoire lorsqu'il y a un grand nombre d'active parts. ### Entrée de documentation pour les changements destinés aux utilisateurs. [#75758](https://github.com/ClickHouse/ClickHouse/pull/75758) ([Julia Kartseva](https://github.com/jkartseva)).
* Dans certains cas (par exemple, une array column vide), les data parts peuvent contenir des fichiers vides. Il est alors possible d'ignorer l'écriture de blobs vides dans ObjectStorage et de ne stocker que les métadonnées de ces fichiers lorsque la table se trouve sur un disque avec métadonnées et object storage séparés. [#75860](https://github.com/ClickHouse/ClickHouse/pull/75860) ([Alexander Gololobov](https://github.com/davenger)).
* Il a été constaté que le contrôle de la concurrence pouvait entraîner une répartition inéquitable du CPU entre les INSERT et les SELECT. Lorsque tous les slots CPU sont alloués sans condition (sans concurrence) à des INSERT avec `max_threads` = 1, les SELECT avec des valeurs élevées de `max_threads` subissent de mauvaises performances, car ils n'utilisent qu'un seul thread. [#75941](https://github.com/ClickHouse/ClickHouse/pull/75941) ([Sergei Trifonov](https://github.com/serxa)).
* Optimisation triviale de wrapInNullable pour éviter l'allocation inutile d'une null map. [#76489](https://github.com/ClickHouse/ClickHouse/pull/76489) ([李扬](https://github.com/taiyang-li)).
* Amélioration des performances de min/max pour Decimal32/Decimal64/DateTime64. [#76570](https://github.com/ClickHouse/ClickHouse/pull/76570) ([李扬](https://github.com/taiyang-li)).
* Éviction active des données du cache lors de la suppression de parts. Empêche le cache d'atteindre sa taille maximale lorsque la quantité de données est inférieure. [#76641](https://github.com/ClickHouse/ClickHouse/pull/76641) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La compilation des requêtes (paramètre `compile_expressions`) tient désormais compte du type de machine. Cela accélère considérablement ces requêtes. [#76753](https://github.com/ClickHouse/ClickHouse/pull/76753) ([Robert Schulze](https://github.com/rschu1ze)).
* Optimisation de arraySort. [#76850](https://github.com/ClickHouse/ClickHouse/pull/76850) ([李扬](https://github.com/taiyang-li)).
* Accélère la construction du résultat du JOIN en dévirtualisant les appels à `col->insertFrom()`. [#77350](https://github.com/ClickHouse/ClickHouse/pull/77350) ([Alexander Gololobov](https://github.com/davenger)).
* Fusion des marks d'une même part et écriture en une seule fois dans le query condition cache afin de réduire l'utilisation des verrous. [#77377](https://github.com/ClickHouse/ClickHouse/pull/77377) ([zhongyuankai](https://github.com/zhongyuankai)).
* Optimisation du ORDER BY sur une seule colonne Nullable ou à faible cardinalité. [#77789](https://github.com/ClickHouse/ClickHouse/pull/77789) ([李扬](https://github.com/taiyang-li)).
* Désactivation de `filesystem_cache_prefer_bigger_buffer_size` lorsque le cache est utilisé passivement, par exemple pour les merges. [#77898](https://github.com/ClickHouse/ClickHouse/pull/77898) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Implémentation d'une optimisation triviale de count pour Iceberg. Les requêtes avec `count()` et sans filtre devraient désormais être plus rapides. Clôt [#77639](https://github.com/ClickHouse/ClickHouse/issues/77639). [#78090](https://github.com/ClickHouse/ClickHouse/pull/78090) ([alesapin](https://github.com/alesapin)).
* Prise en charge du data pruning d'Iceberg basé sur les valeurs lower\_bound et uppert\_bound des colonnes. Corrige [#77638](https://github.com/ClickHouse/ClickHouse/issues/77638). [#78242](https://github.com/ClickHouse/ClickHouse/pull/78242) ([alesapin](https://github.com/alesapin)).
* Optimisation de l'utilisation de la mémoire pour NativeReader. [#78442](https://github.com/ClickHouse/ClickHouse/pull/78442) ([Azat Khuzhin](https://github.com/azat)).
* Optimisation triviale : ne pas réécrire `count(if())` en countIf si `CAST` est requis. Clôt [#78564](https://github.com/ClickHouse/ClickHouse/issues/78564). [#78565](https://github.com/ClickHouse/ClickHouse/pull/78565) ([李扬](https://github.com/taiyang-li)).

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

* Réduction du nombre de requêtes Keeper en éliminant l’utilisation de requêtes `get` unitaires, qui pouvaient entraîner une charge importante sur Keeper avec l’augmentation du nombre de répliques, là où `multiRead` est disponible. [#56862](https://github.com/ClickHouse/ClickHouse/pull/56862) ([Nikolay Degterinsky](https://github.com/evillique)).
* Ajout de la prise en charge de l’authentification SSL avec des collections nommées pour MySQL. Closes [#59111](https://github.com/ClickHouse/ClickHouse/issues/59111). [#59452](https://github.com/ClickHouse/ClickHouse/pull/59452) ([Nikolay Degterinsky](https://github.com/evillique)).
* Amélioration des performances de la nouvelle infrastructure de l’analyseur en stockant `ColumnPtr` au lieu de `Field` dans `ConstantNode`. Lié à [#62245](https://github.com/ClickHouse/ClickHouse/issues/62245). [#63198](https://github.com/ClickHouse/ClickHouse/pull/63198) ([Dmitry Novik](https://github.com/novikd)).
* Rejet des requêtes lorsque le serveur est surchargé. La décision est prise en fonction du ratio entre le temps d’attente (`OSCPUWaitMicroseconds`) et le temps d’activité (`OSCPUVirtualTimeMicroseconds`). La requête est abandonnée avec une certaine probabilité lorsque ce ratio se situe entre `min_os_cpu_wait_time_ratio_to_throw` et `max_os_cpu_wait_time_ratio_to_throw` (il s’agit de paramètres au niveau de la requête). [#63206](https://github.com/ClickHouse/ClickHouse/pull/63206) ([Alexey Katsman](https://github.com/alexkats)).
* Suppression des blocs aussi tôt que possible afin de réduire les besoins en mémoire. [#65647](https://github.com/ClickHouse/ClickHouse/pull/65647) ([lgbo](https://github.com/lgbo-ustc)).
* La table `processors_profile_log` dispose désormais d’une configuration par défaut avec un TTL de 30 jours. [#66139](https://github.com/ClickHouse/ClickHouse/pull/66139) ([Ilya Yatsishin](https://github.com/qoega)).
* Autorisation de créer un index `bloom_filter` sur des colonnes de type DateTime64. [#66416](https://github.com/ClickHouse/ClickHouse/pull/66416) ([Yutong Xiao](https://github.com/YutSean)).
* Introduction de buckets de latence pour suivre les temps de connexion ainsi que les temps de lecture/écriture du premier octet pour les requêtes S3. Cela permettra ensuite d’utiliser les données recueillies pour calculer des percentiles approximatifs et ajuster les timeouts. [#69783](https://github.com/ClickHouse/ClickHouse/pull/69783) ([Alexey Katsman](https://github.com/alexkats)).
* Les requêtes transmises au moteur de stockage `Executable` ne sont plus limitées à une exécution monothread. [#70084](https://github.com/ClickHouse/ClickHouse/pull/70084) ([yawnt](https://github.com/yawnt)).
* Ajout des en-têtes HTTP à la table des logs de spans OpenTelemetry pour une meilleure traçabilité. [#70516](https://github.com/ClickHouse/ClickHouse/pull/70516) ([jonymohajanGmail](https://github.com/jonymohajanGmail)).
* Prise en charge de l’écriture de fichiers orc avec un fuseau horaire personnalisé, au lieu d’utiliser systématiquement le fuseau horaire `GMT`. [#70615](https://github.com/ClickHouse/ClickHouse/pull/70615) ([kevinyhzou](https://github.com/KevinyhZou)).
* Remplacement des fonctions de table par leurs alternatives `-Cluster` si les répliques parallèles sont activées. Corrige [#65024](https://github.com/ClickHouse/ClickHouse/issues/65024). [#70659](https://github.com/ClickHouse/ClickHouse/pull/70659) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Prise en compte des paramètres d’ordonnancement des E/S lors de l’écriture de sauvegardes entre différents clouds. [#71093](https://github.com/ClickHouse/ClickHouse/pull/71093) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Rétablissement en arrière-plan de la connexion aux répliques de dictionnaires MySQL et Postgres afin de ne pas retarder les requêtes vers les dictionnaires correspondants. [#71101](https://github.com/ClickHouse/ClickHouse/pull/71101) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Ajout du nom d’alias de la métrique à system.asynchronous\_metrics. [#71164](https://github.com/ClickHouse/ClickHouse/pull/71164) ([megao](https://github.com/jetgm)).
* Les actualisations des refreshable materialized views apparaissent désormais dans `system.query_log`. [#71333](https://github.com/ClickHouse/ClickHouse/pull/71333) ([Michael Kolupaev](https://github.com/al13n321)).
* Évaluer conjointement les bloom filters Parquet et les index min/max. Nécessaire pour prendre correctement en charge : `x = 3 or x > 5` lorsque les données = \[1, 2, 4, 5]. [#71383](https://github.com/ClickHouse/ClickHouse/pull/71383) ([Arthur Passos](https://github.com/arthurpassos)).
* Améliorations des métriques interactives. Correction de l’affichage incomplet des métriques provenant des répliques parallèles. Affichage des métriques par ordre de mise à jour la plus récente, puis par ordre lexicographique de nom. Les métriques obsolètes ne sont pas affichées. [#71631](https://github.com/ClickHouse/ClickHouse/pull/71631) ([Julia Kartseva](https://github.com/jkartseva)).
* Historiquement, pour une raison inconnue, la query `ALTER TABLE MOVE PARTITION TO TABLE` vérifiait les droits `SELECT` et `ALTER DELETE` au lieu du droit dédié `ALTER_MOVE_PARTITION`. Cette PR utilise désormais ce type d’accès. Pour des raisons de compatibilité, cette permission sera aussi accordée implicitement si `SELECT` et `ALTER DELETE` sont accordés, mais ce comportement sera supprimé dans de futures releases. Ferme [#16403](https://github.com/ClickHouse/ClickHouse/issues/16403). [#71632](https://github.com/ClickHouse/ClickHouse/pull/71632) ([pufit](https://github.com/pufit)).
* Active par défaut le paramètre `use_hive_partitioning`. [#71636](https://github.com/ClickHouse/ClickHouse/pull/71636) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Lever une exception lors d’une tentative de matérialisation d’une colonne dans la clé de tri, au lieu de laisser cela casser l’ordre de tri. Cela ne résout toutefois pas [#71777](https://github.com/ClickHouse/ClickHouse/issues/71777). [#71891](https://github.com/ClickHouse/ClickHouse/pull/71891) ([Peter Nguyen](https://github.com/petern48)).
* Autoriser un algorithme de planification des jointures plus général lorsque l’algorithme de jointure par hachage est activé. [#71926](https://github.com/ClickHouse/ClickHouse/pull/71926) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Masquer les secrets dans `EXPLAIN QUERY TREE`. [#72025](https://github.com/ClickHouse/ClickHouse/pull/72025) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Autoriser l’utilisation d’un disk configurable pour stocker les fichiers de metadata des databases et des tables. Le nom du disk peut être défini via le parameter de config `database_disk.disk`. [#72027](https://github.com/ClickHouse/ClickHouse/pull/72027) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Prendre en charge les types logiques entiers Parquet dans le lecteur native. [#72105](https://github.com/ClickHouse/ClickHouse/pull/72105) ([Arthur Passos](https://github.com/arthurpassos)).
* Rendre le JSON output format joliment formaté par défaut. Ajouter le nouveau setting `output_format_json_pretty_print` pour contrôler ce comportement et l’activer par défaut. [#72148](https://github.com/ClickHouse/ClickHouse/pull/72148) ([Pavel Kruglov](https://github.com/Avogar)).
* Demander les credentials de manière interactive dans le navigateur si l’utilisateur `default` nécessite un password. Dans les versions précédentes, le server renvoyait HTTP 403 ; il renvoie désormais HTTP 401. [#72198](https://github.com/ClickHouse/ClickHouse/pull/72198) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Cette PR convertit les types d’accès `CREATE_USER`, `ALTER_USER`, `DROP_USER`, `CREATE_ROLE`, `ALTER_ROLE`, `DROP_ROLE` de globaux à paramétrés. Cela signifie que vous pouvez désormais accorder les grants de gestion des accès avec plus de précision. [#72246](https://github.com/ClickHouse/ClickHouse/pull/72246) ([pufit](https://github.com/pufit)).
* Autoriser les noms de shards dans la configuration du cluster. [#72276](https://github.com/ClickHouse/ClickHouse/pull/72276) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Prendre en charge CAST et ALTER entre des JSON types ayant des paramètres différents. [#72303](https://github.com/ClickHouse/ClickHouse/pull/72303) ([Pavel Kruglov](https://github.com/Avogar)).
* Ajoute la colonne `latest_fail_error_code_name` à `system.mutations`. Cette colonne est nécessaire pour introduire une nouvelle métrique sur les mutations bloquées, l’utiliser pour créer des graphiques des erreurs rencontrées dans le cloud et, éventuellement, ajouter une nouvelle alerte moins bruyante. [#72398](https://github.com/ClickHouse/ClickHouse/pull/72398) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Réduit le nombre d’allocations lors de l’attachement de partitions. [#72583](https://github.com/ClickHouse/ClickHouse/pull/72583) ([Konstantin Morozov](https://github.com/k-morozov)).
* Fait dépendre la limite max\_bytes\_before\_external\_sort de la consommation mémoire totale de la requête (auparavant, il s’agissait du nombre d’octets dans le bloc de tri pour un thread de tri ; désormais, elle a la même signification que `max_bytes_before_external_group_by` - c’est la limite totale de mémoire pour l’ensemble de la requête sur tous les threads). Un paramètre supplémentaire a également été ajouté pour contrôler la taille des blocs sur disque - `min_external_sort_block_bytes`. [#72598](https://github.com/ClickHouse/ClickHouse/pull/72598) ([Azat Khuzhin](https://github.com/azat)).
* Ignore les restrictions mémoire du collector de traces. [#72606](https://github.com/ClickHouse/ClickHouse/pull/72606) ([Azat Khuzhin](https://github.com/azat)).
* Prend en charge les sous-colonnes dans la clé de tri de MergeTree et les index de saut. [#72644](https://github.com/ClickHouse/ClickHouse/pull/72644) ([Pavel Kruglov](https://github.com/Avogar)).
* Ajoute les paramètres serveur `dictionaries_lazy_load` et `wait_dictionaries_load_at_startup` à `system.server_settings`. [#72664](https://github.com/ClickHouse/ClickHouse/pull/72664) ([Christoph Wurm](https://github.com/cwurm)).
* Ajoute le paramètre `max_backup_bandwidth` à la liste des paramètres pouvant être spécifiés dans les requêtes `BACKUP`/`RESTORE`. [#72665](https://github.com/ClickHouse/ClickHouse/pull/72665) ([Christoph Wurm](https://github.com/cwurm)).
* Les répliques parallèles utilisaient des informations historiques sur la disponibilité des répliques pour améliorer leur sélection, mais ne mettaient pas à jour le nombre d’erreurs de la réplique lorsque la connexion était indisponible. Cette PR met désormais à jour le nombre d’erreurs de la réplique lorsqu’elle est indisponible. [#72666](https://github.com/ClickHouse/ClickHouse/pull/72666) ([zoomxi](https://github.com/zoomxi)).
* Réduit le niveau de journalisation des parts répliquées qui apparaissent dans le moteur ReplicatedMergeTree afin de limiter le volume de logs générés dans un cluster répliqué. [#72876](https://github.com/ClickHouse/ClickHouse/pull/72876) ([mor-akamai](https://github.com/morkalfon)).
* De nombreuses nouvelles fonctionnalités nécessiteront une meilleure encapsulation du code (notamment en ce qui concerne les métadonnées Iceberg) ainsi que de meilleures abstractions. [#72941](https://github.com/ClickHouse/ClickHouse/pull/72941) ([Daniil Ivanik](https://github.com/divanik)).
* Prend en charge la comparaison d’égalité pour les valeurs d’une colonne JSON. [#72991](https://github.com/ClickHouse/ClickHouse/pull/72991) ([Pavel Kruglov](https://github.com/Avogar)).
* Améliore le formatage des identifiants avec des sous-colonnes JSON afin d’éviter les backticks inutiles. [#73085](https://github.com/ClickHouse/ClickHouse/pull/73085) ([Pavel Kruglov](https://github.com/Avogar)).
* Journalise les conditions `PREWHERE` avec le niveau `Test`. [#73116](https://github.com/ClickHouse/ClickHouse/pull/73116) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Prend en charge SETTINGS avec ENGINE implicite ainsi que le mélange des paramètres du moteur et de la requête. [#73120](https://github.com/ClickHouse/ClickHouse/pull/73120) ([Raúl Marín](https://github.com/Algunenano)).
* Écrit les parts avec le niveau 1 si `optimize_on_insert` est activé. Cela permet d’utiliser plusieurs optimisations de requêtes avec `FINAL` pour les parts fraîchement écrites. [#73132](https://github.com/ClickHouse/ClickHouse/pull/73132) ([Anton Popov](https://github.com/CurtizJ)).
* Pour une requête comme `WHERE a<b AND b<c AND c<5`, peut générer de nouvelles conditions de comparaison (`a<5 and b<5`) afin d'améliorer le filtrage. [#73164](https://github.com/ClickHouse/ClickHouse/pull/73164) ([Shichao Jin](https://github.com/jsc0218)).
* Améliore l'extraction des expressions communes dans les disjonctions. Permet de simplifier la filter expression résultante même en l'absence de sous-expression commune à toutes les disjonctions. Suite de [#71537](https://github.com/ClickHouse/ClickHouse/issues/71537). [#73271](https://github.com/ClickHouse/ClickHouse/pull/73271) ([Dmitry Novik](https://github.com/novikd)).
* Dans Storage `S3(Azure)Queue`, permet d'ajouter des settings lorsqu'une table a été créée sans settings. [#73283](https://github.com/ClickHouse/ClickHouse/pull/73283) ([Kseniia Sumarokova](https://github.com/kssenii)).
* clickhouse-client prend en charge Ctrl+D pour terminer la requête. Permet d'utiliser Ctrl+D au lieu de saisir un point-virgule puis d'appuyer sur Entrée. De plus, Ctrl+D se comporte comme Entrée en mode monoligne. [#73293](https://github.com/ClickHouse/ClickHouse/pull/73293) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Introduit un setting `least_greatest_legacy_null_behavior` (par défaut : `false`) qui contrôle si les fonctions `least` et `greatest` traitent les arguments `NULL` en renvoyant systématiquement `NULL` (si `true`) ou en les ignorant (si `false`). [#73344](https://github.com/ClickHouse/ClickHouse/pull/73344) ([Robert Schulze](https://github.com/rschu1ze)).
* Utilise des requêtes multiples Keeper dans le thread de nettoyage d'ObjectStorageQueueMetadata. [#73357](https://github.com/ClickHouse/ClickHouse/pull/73357) ([Antonio Andelic](https://github.com/antonio2368)).
* Un nouveau driver MongoDB est désormais utilisé par défaut. Les utilisateurs qui souhaitent continuer à utiliser l'ancien driver peuvent définir le server setting `use_legacy_mongodb_integration` sur true. [#73359](https://github.com/ClickHouse/ClickHouse/pull/73359) ([Robert Schulze](https://github.com/rschu1ze)).
* Lorsque ClickHouse s'exécute sous cgroup, nous continuerons à collecter des metrics asynchrones à l'échelle du système liées à la charge système, à l'ordonnancement des processus, à la mémoire, etc. Elles peuvent fournir des signaux utiles lorsque ClickHouse est le seul processus sur l'hôte à consommer beaucoup de ressources. [#73369](https://github.com/ClickHouse/ClickHouse/pull/73369) ([Nikita Taranov](https://github.com/nickitat)).
* Dans le storage S3Queue, permet de migrer les anciennes tables ordered créées avant la version 24.6 vers la nouvelle structure avec des buckets. [#73467](https://github.com/ClickHouse/ClickHouse/pull/73467) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ajoute `system.azure_queue`, similaire à `system.s3queue` existant. [#73477](https://github.com/ClickHouse/ClickHouse/pull/73477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige une régression qui faisait que l'utilisation de locales de collation avec des modifiers générait une error. Par exemple, `SELECT arrayJoin(['kk 50', 'KK 01', ' KK 2', ' KK 3', 'kk 1', 'x9y99', 'x9y100']) item ORDER BY item ASC COLLATE 'tr-u-kn-true-ka-shifted` fonctionne désormais. [#73544](https://github.com/ClickHouse/ClickHouse/pull/73544) ([Robert Schulze](https://github.com/rschu1ze)).
* Prend en charge le type Nullable(JSON). [#73556](https://github.com/ClickHouse/ClickHouse/pull/73556) ([Pavel Kruglov](https://github.com/Avogar)).
* La fonction `parseDateTime64` (et ses variantes) produit désormais des résultats corrects pour les dates d'entrée antérieures à 1970 ou postérieures à 2106. Example : `SELECT parseDateTime64InJodaSyntax('2200-01-01 00:00:00.000', 'yyyy-MM-dd HH:mm:ss.SSS')`. [#73594](https://github.com/ClickHouse/ClickHouse/pull/73594) ([zhanglistar](https://github.com/zhanglistar)).
* Corrige certains problèmes d’utilisabilité de clickhouse-disks signalés par les utilisateurs. Clôt [#67136](https://github.com/ClickHouse/ClickHouse/issues/67136). [#73616](https://github.com/ClickHouse/ClickHouse/pull/73616) ([Daniil Ivanik](https://github.com/divanik)).
* Permet de modifier les paramètres de commit dans le stockage S3(Azure)Queue. (Les paramètres de commit sont : max\_processed\_files\_before\_commit, max\_processed\_rows\_before\_commit, max\_processed\_bytes\_before\_commit, max\_processing\_time\_sec\_before\_commit). [#73635](https://github.com/ClickHouse/ClickHouse/pull/73635) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Dans le stockage S3(Azure)Queue, agrège la progression entre les sources afin de la comparer aux paramètres de limite de commit. [#73641](https://github.com/ClickHouse/ClickHouse/pull/73641) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Prend en charge les paramètres principaux dans la requête `BACKUP`/`RESTORE`. [#73650](https://github.com/ClickHouse/ClickHouse/pull/73650) ([Vitaly Baranov](https://github.com/vitlibar)).
* Lit `output_format_compression_level` pour la sortie Parquet. [#73651](https://github.com/ClickHouse/ClickHouse/pull/73651) ([Arthur Passos](https://github.com/arthurpassos)).
* Ajoute la lecture de arrow fixed\_size\_list comme un Array au lieu de le traiter comme un type non pris en charge. [#73654](https://github.com/ClickHouse/ClickHouse/pull/73654) ([Julian Meyers](https://github.com/J-Meyers)).
* Cette PR ajoute deux moteurs de sauvegarde : `Memory` (conserve les sauvegardes dans la session utilisateur en cours) et `Null` (ne conserve les sauvegardes nulle part). [#73690](https://github.com/ClickHouse/ClickHouse/pull/73690) ([Vitaly Baranov](https://github.com/vitlibar)).
* `concurrent_threads_soft_limit_num` et `concurrent_threads_soft_limit_num_ratio_to_cores` peuvent être modifiés sans redémarrer un serveur. [#73713](https://github.com/ClickHouse/ClickHouse/pull/73713) ([Sergei Trifonov](https://github.com/serxa)).
* Ajoute la prise en charge des types numériques étendus (Decimal, grands entiers) dans les fonctions formatReadable. [#73765](https://github.com/ClickHouse/ClickHouse/pull/73765) ([Raúl Marín](https://github.com/Algunenano)).
* Respecte la correspondance de colonnes insensible à la casse pour les champs dans les colonnes de tuple. Clôt [https://github.com/apache/incubator-gluten/issues/8324](https://github.com/apache/incubator-gluten/issues/8324). [#73780](https://github.com/ClickHouse/ClickHouse/pull/73780) ([李扬](https://github.com/taiyang-li)).
* Prend en charge TLS pour le protocole wire de Postgres. [#73812](https://github.com/ClickHouse/ClickHouse/pull/73812) ([scanhex12](https://github.com/scanhex12)).
* Autorise `LowCardinality(UUID)` par défaut. Cela s’est révélé pratique chez les clients ClickHouse Cloud. [#73826](https://github.com/ClickHouse/ClickHouse/pull/73826) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Message amélioré pendant l’installation. [#73827](https://github.com/ClickHouse/ClickHouse/pull/73827) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Message amélioré concernant la réinitialisation du mot de passe pour ClickHouse Cloud. [#73831](https://github.com/ClickHouse/ClickHouse/pull/73831) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Améliore le message d’erreur avec une table File qui ne peut pas effectuer d’ajouts en fin de fichier. [#73832](https://github.com/ClickHouse/ClickHouse/pull/73832) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Demander une confirmation lorsqu’un utilisateur tente accidentellement d’afficher un format binaire (tel que Native, Parquet ou Avro) dans le terminal. Cela clôt [#59524](https://github.com/ClickHouse/ClickHouse/issues/59524). [#73833](https://github.com/ClickHouse/ClickHouse/pull/73833) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Le type de données `BFloat16` est prêt pour la production. [#73840](https://github.com/ClickHouse/ClickHouse/pull/73840) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mettre en évidence les espaces de fin de ligne dans les formats Pretty et Vertical dans le terminal pour une meilleure lisibilité. Cela est contrôlé par le paramètre `output_format_pretty_highlight_trailing_spaces`. Implémentation initiale par [Braden Burns](https://github.com/bradenburns) dans [#72996](https://github.com/ClickHouse/ClickHouse/issues/72996). Clôt [#71590](https://github.com/ClickHouse/ClickHouse/issues/71590). [#73847](https://github.com/ClickHouse/ClickHouse/pull/73847) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client` et `clickhouse-local` détecteront automatiquement la compression de stdin lorsqu’il est redirigé depuis un fichier. Cela clôt [#70865](https://github.com/ClickHouse/ClickHouse/issues/70865). [#73848](https://github.com/ClickHouse/ClickHouse/pull/73848) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Tronquer par défaut les noms de colonnes trop longs dans les formats Pretty. Cela est contrôlé par les paramètres `output_format_pretty_max_column_name_width_cut_to` et `output_format_pretty_max_column_name_width_min_chars_to_cut`. Il s’agit de la poursuite du travail de [tanmaydatta](https://github.com/tanmaydatta) dans [#66502](https://github.com/ClickHouse/ClickHouse/issues/66502). Cela clôt [#65968](https://github.com/ClickHouse/ClickHouse/issues/65968). [#73851](https://github.com/ClickHouse/ClickHouse/pull/73851) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Rendre les formats `Pretty` plus agréables à lire : regrouper les blocks si peu de temps s’est écoulé depuis la sortie du block précédent. Cela est contrôlé par les nouveaux paramètres `output_format_pretty_squash_consecutive_ms` (50 ms par défaut) et `output_format_pretty_squash_max_wait_ms` (1000 ms par défaut). Suite de [#49537](https://github.com/ClickHouse/ClickHouse/issues/49537). Cela clôt [#49153](https://github.com/ClickHouse/ClickHouse/issues/49153). [#73852](https://github.com/ClickHouse/ClickHouse/pull/73852) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corriger le type mapping pour SQLite (types entiers vers `int64`, nombres à virgule flottante vers `float64`). [#73853](https://github.com/ClickHouse/ClickHouse/pull/73853) ([Joanna Hulboj](https://github.com/jh0x)).
* Ajouter une metric sur le nombre de parties sources en cours de fusion. Cela clôt [#70809](https://github.com/ClickHouse/ClickHouse/issues/70809). [#73868](https://github.com/ClickHouse/ClickHouse/pull/73868) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mettre en évidence les colonnes dans le format `Vertical` si la sortie est affichée dans un terminal. Cela peut être désactivé avec le paramètre `output_format_pretty_color`. [#73898](https://github.com/ClickHouse/ClickHouse/pull/73898) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Compatibilité MySQL améliorée au point que `mysqlsh` (une CLI MySQL avancée d’Oracle) peut désormais se connecter à ClickHouse. Cela est nécessaire pour faciliter les tests. [#73912](https://github.com/ClickHouse/ClickHouse/pull/73912) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Si le nombre d’enregistrements de sortie dépasse N = `output_format_pretty_max_rows`, au lieu d’afficher uniquement les N premières lignes, le tableau de sortie sera tronqué au milieu, avec N/2 premières lignes et N/2 dernières lignes affichées. Suite de [#64200](https://github.com/ClickHouse/ClickHouse/issues/64200). Cela clôt [#59502](https://github.com/ClickHouse/ClickHouse/issues/59502). [#73929](https://github.com/ClickHouse/ClickHouse/pull/73929) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La fonction `isIPv4String` renvoyait true si une adresse IPv4 valide était suivie d’un octet nul, alors qu’elle devrait renvoyer false dans ce cas. Suite de [#65387](https://github.com/ClickHouse/ClickHouse/issues/65387). [#73946](https://github.com/ClickHouse/ClickHouse/pull/73946) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Rendre le code d’erreur du MySQL wire protocol compatible avec MySQL. Suite de [#56831](https://github.com/ClickHouse/ClickHouse/issues/56831). Clôt [#50957](https://github.com/ClickHouse/ClickHouse/issues/50957). [#73948](https://github.com/ClickHouse/ClickHouse/pull/73948) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajouter le paramètre `validate_enum_literals_in_opearators` pour valider les littéraux enum dans des opérateurs comme `IN` et `NOT IN` par rapport au type enum, et lever une exception si le littéral n’est pas une valeur enum valide. [#73985](https://github.com/ClickHouse/ClickHouse/pull/73985) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Dans `S3(Azure)Queue`, valider tous les fichiers (dans un seul lot défini par les paramètres de commit) au sein d’une seule transaction Keeper. [#73991](https://github.com/ClickHouse/ClickHouse/pull/73991) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Désactiver la détection d’en-tête pour les Executable UDFs et les Dictionaries (cela pouvait provoquer `Function 'X': wrong result, expected Y rows, actual Y-1`). [#73992](https://github.com/ClickHouse/ClickHouse/pull/73992) ([Azat Khuzhin](https://github.com/azat)).
* Ajouter l’option `distributed` à `EXPLAIN PLAN.` Désormais, `EXPLAIN distributed=1 ... ` ajoute le plan distant aux étapes `ReadFromParallelRemote*`. [#73994](https://github.com/ClickHouse/ClickHouse/pull/73994) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Utiliser le type de retour correct pour not/xor avec des arguments Dynamic. [#74013](https://github.com/ClickHouse/ClickHouse/pull/74013) ([Pavel Kruglov](https://github.com/Avogar)).
* Autoriser la modification de `add_implicit_sign_column_constraint_for_collapsing_engine` après la création de la table. [#74014](https://github.com/ClickHouse/ClickHouse/pull/74014) ([Christoph Wurm](https://github.com/cwurm)).
* Prendre en charge les subcolumns dans la requête SELECT d’une materialized view. [#74030](https://github.com/ClickHouse/ClickHouse/pull/74030) ([Pavel Kruglov](https://github.com/Avogar)).
* Les Pretty formats peuvent afficher des champs sur plusieurs lignes à l’intérieur d’une cellule de tableau, ce qui améliore la lisibilité. Cela est activé par défaut et peut être contrôlé par le paramètre `output_format_pretty_multiline_fields`. Suite du travail de [Volodyachan](https://github.com/Volodyachan) dans [#64094](https://github.com/ClickHouse/ClickHouse/issues/64094). Cela clôt [#56912](https://github.com/ClickHouse/ClickHouse/issues/56912). [#74032](https://github.com/ClickHouse/ClickHouse/pull/74032) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Prendre en charge l’optimisation `predicate-push-down` au niveau du query plan pour l’étape `MergingAggregated`. Cela améliore les performances de certaines queries avec le nouvel analyzer. [#74073](https://github.com/ClickHouse/ClickHouse/pull/74073) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Il existe désormais trois façons simples de définir une invite personnalisée dans `clickhouse-client` : 1. via le paramètre de ligne de commande `--prompt`, 2. dans le fichier de configuration, via le paramètre `<prompt>[...]</prompt>`, et 3. également dans le fichier de configuration, via les paramètres propres à chaque connexion `<connections_credentials><prompt>[...]</prompt></connection_credentials>`. [#74168](https://github.com/ClickHouse/ClickHouse/pull/74168) ([Christoph Wurm](https://github.com/cwurm)).
* Remplacement du code de succès de la réponse prometheus remote write de 200/OK à 204/NoContent. [#74170](https://github.com/ClickHouse/ClickHouse/pull/74170) ([Michael Dempsey](https://github.com/bluestealth)).
* Exposition des en-têtes HTTP X-ClickHouse à JavaScript dans le navigateur. Cela facilite l’écriture d’applications. [#74180](https://github.com/ClickHouse/ClickHouse/pull/74180) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Le format `JSONEachRowWithProgress` inclura des événements avec des métadonnées, ainsi que des totaux et des extrêmes. Il inclut également `rows_before_limit_at_least` et `rows_before_aggregation`. Le format affiche correctement l’exception si elle arrive après des résultats partiels. La progression inclut désormais le temps écoulé en nanosecondes. Un dernier événement de progression est émis à la fin. La progression pendant l’exécution de la requête ne sera pas affichée plus fréquemment que la valeur du paramètre `interactive_delay`. [#74181](https://github.com/ClickHouse/ClickHouse/pull/74181) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Le sablier tournera de manière fluide dans l’UI Play. [#74182](https://github.com/ClickHouse/ClickHouse/pull/74182) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Même si la réponse HTTP est compressée, les paquets sont envoyés dès leur arrivée. Cela permet au navigateur de recevoir les paquets de progression et les données compressées. [#74201](https://github.com/ClickHouse/ClickHouse/pull/74201) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout de la possibilité de recharger `max_remote_read_network_bandwidth_for_serve` et `max_remote_write_network_bandwidth_for_server` à la volée, sans redémarrer le serveur. [#74206](https://github.com/ClickHouse/ClickHouse/pull/74206) ([Kai Zhu](https://github.com/nauu)).
* Détection automatique d’une connexion sécurisée lors d’une connexion au port 9440 dans ClickHouse Client. [#74212](https://github.com/ClickHouse/ClickHouse/pull/74212) ([Christoph Wurm](https://github.com/cwurm)).
* Authentification des utilisateurs avec le seul username pour les http\_handlers (auparavant, l’utilisateur devait également fournir le password). [#74221](https://github.com/ClickHouse/ClickHouse/pull/74221) ([Azat Khuzhin](https://github.com/azat)).
* La prise en charge des query languages alternatifs PRQL et KQL a été marquée Experimental. Pour les utiliser, spécifiez les paramètres `allow_experimental_prql_dialect = 1` et `allow_experimental_kusto_dialect = 1`. [#74224](https://github.com/ClickHouse/ClickHouse/pull/74224) ([Robert Schulze](https://github.com/rschu1ze)).
* Prise en charge du renvoi du type Enum par défaut dans davantage d’aggregate functions. [#74272](https://github.com/ClickHouse/ClickHouse/pull/74272) ([Raúl Marín](https://github.com/Algunenano)).
* Dans `OPTIMIZE TABLE`, il est désormais possible de spécifier le keyword `FORCE` comme alternative au keyword `FINAL` existant. [#74342](https://github.com/ClickHouse/ClickHouse/pull/74342) ([Robert Schulze](https://github.com/rschu1ze)).
* Ajout d’un paramètre MergeTree, `materialize_skip_indexes_on_merge`, qui empêche la création de skip indexes lors du merge. Cela vous permet de contrôler explicitement (via `ALTER TABLE [..] MATERIALIZE INDEX [...]`) quand les skip indexes sont créés. Cela peut être utile si les skip indexes sont coûteux à construire (par exemple, les vector similarity indexes). [#74401](https://github.com/ClickHouse/ClickHouse/pull/74401) ([Robert Schulze](https://github.com/rschu1ze)).
* Prise en charge des subcolumns dans les expressions par défaut et materialized. [#74403](https://github.com/ClickHouse/ClickHouse/pull/74403) ([Pavel Kruglov](https://github.com/Avogar)).
* Optimise les requêtes Keeper dans Storage(S3/Azure)Queue. [#74410](https://github.com/ClickHouse/ClickHouse/pull/74410) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ajoute la métrique IsServerShuttingDown, nécessaire pour déclencher une alerte lorsque l’arrêt du serveur prend trop de temps. [#74429](https://github.com/ClickHouse/ClickHouse/pull/74429) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Ajoute les noms des tables Iceberg à EXPLAIN. [#74485](https://github.com/ClickHouse/ClickHouse/pull/74485) ([alekseev-maksim](https://github.com/alekseev-maksim)).
* Utilise jusqu’à `1000` répliques parallèles par défaut. [#74504](https://github.com/ClickHouse/ClickHouse/pull/74504) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Fournit un meilleur message d’erreur lors de l’utilisation de RECURSIVE CTE avec l’ancien analyseur. [#74523](https://github.com/ClickHouse/ClickHouse/pull/74523) ([Raúl Marín](https://github.com/Algunenano)).
* Optimise les requêtes Keeper dans Storage(S3/Azure)Queue. [#74538](https://github.com/ClickHouse/ClickHouse/pull/74538) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Améliore la réutilisation des sessions HTTP lors de la lecture depuis un disque S3 ([#72401](https://github.com/ClickHouse/ClickHouse/issues/72401)). [#74548](https://github.com/ClickHouse/ClickHouse/pull/74548) ([Julian Maicher](https://github.com/jmaicher)).
* Affiche des messages d’erreur détaillés dans `system.errors`. [#74574](https://github.com/ClickHouse/ClickHouse/pull/74574) ([Vitaly Baranov](https://github.com/vitlibar)).
* Active un mécanisme de backoff pour tous les types de tâches répliquées. Cela permettra de réduire l’utilisation du CPU, l’utilisation de la mémoire et la taille des fichiers journaux. Ajoute les nouveaux paramètres `max_postpone_time_for_failed_replicated_fetches_ms`, `max_postpone_time_for_failed_replicated_merges_ms` et `max_postpone_time_for_failed_replicated_tasks_ms`, similaires à `max_postpone_time_for_failed_mutations_ms`. [#74576](https://github.com/ClickHouse/ClickHouse/pull/74576) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Comptabilisation plus précise du paramètre `max_joined_block_size_rows` pour l’algorithme de JOIN `parallel_hash`. Cela permet d’éviter une consommation mémoire plus élevée qu’avec l’algorithme `hash`. [#74630](https://github.com/ClickHouse/ClickHouse/pull/74630) ([Nikita Taranov](https://github.com/nickitat)).
* Ajoute la prise en charge de l’option de configuration libhdfs3 `dfs.client.use.datanode.hostname`. [#74635](https://github.com/ClickHouse/ClickHouse/pull/74635) ([Mikhail Tiukavkin](https://github.com/freshertm)).
* Corrige l’erreur : Invalid: Codec 'snappy' doesn't support setting a compression level. [#74659](https://github.com/ClickHouse/ClickHouse/pull/74659) ([Arthur Passos](https://github.com/arthurpassos)).
* Autorise l’utilisation d’un mot de passe pour la communication du client avec ClickHouse Keeper. Cette fonctionnalité n’est pas très utile si vous spécifiez une configuration SSL appropriée pour le serveur et le client, mais elle peut tout de même être utile dans certains cas. Le mot de passe ne peut pas dépasser 16 caractères. Elle n’est pas liée au modèle d’authentification de Keeper. [#74673](https://github.com/ClickHouse/ClickHouse/pull/74673) ([alesapin](https://github.com/alesapin)).
* Autorise l’utilisation de chemins de blob pour calculer les sommes de contrôle lors de la création d’une sauvegarde. [#74729](https://github.com/ClickHouse/ClickHouse/pull/74729) ([Vitaly Baranov](https://github.com/vitlibar)).
* Utilise le sharding dynamique pour JOIN si la clé de jointure est un préfixe de la PK des deux côtés. Cette optimisation est activée avec le paramètre `query_plan_join_shard_by_pk_ranges` (désactivé par défaut). [#74733](https://github.com/ClickHouse/ClickHouse/pull/74733) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Ajout d’un code d’erreur pour le rechargement de la configuration. [#74746](https://github.com/ClickHouse/ClickHouse/pull/74746) ([Garrett Thomas](https://github.com/garrettthomaskth)).
* Ajout de la prise en charge des adresses IPv6 dans les fonctions de table et les moteurs MySQL et PostgreSQL. [#74796](https://github.com/ClickHouse/ClickHouse/pull/74796) ([Mikhail Koviazin](https://github.com/mkmkme)).
* Les paramètres du codec Gorilla seront désormais toujours enregistrés dans les métadonnées de la table, dans le fichier .sql. Cela clôt : [#70072](https://github.com/ClickHouse/ClickHouse/issues/70072). [#74814](https://github.com/ClickHouse/ClickHouse/pull/74814) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Implémentation de l’optimisation en court-circuit pour `divideDecimal`. Corrige [#74280](https://github.com/ClickHouse/ClickHouse/issues/74280). [#74843](https://github.com/ClickHouse/ClickHouse/pull/74843) ([Kevin Mingtarja](https://github.com/kevinmingtarja)).
* Amélioration des performances des requêtes multiples de grande taille dans Keeper. [#74849](https://github.com/ClickHouse/ClickHouse/pull/74849) ([Antonio Andelic](https://github.com/antonio2368)).
* Il est désormais possible de spécifier des utilisateurs dans les scripts de démarrage. [#74894](https://github.com/ClickHouse/ClickHouse/pull/74894) ([pufit](https://github.com/pufit)).
* Récupération des parts en parallèle dans ALTER TABLE FETCH PARTITION (la taille du pool de threads est contrôlée par `max_fetch_partition_thread_pool_size`). [#74978](https://github.com/ClickHouse/ClickHouse/pull/74978) ([Azat Khuzhin](https://github.com/azat)).
* Ajout d’une colonne d’ID de requête à `system.query_cache` (issue [#68205](https://github.com/ClickHouse/ClickHouse/issues/68205)). [#74982](https://github.com/ClickHouse/ClickHouse/pull/74982) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Le protocole SSH a été réactivé. Certaines vulnérabilités critiques ont été corrigées ; il n’est donc plus possible d’utiliser un pager personnalisé ni de spécifier `server-logs-file`. La possibilité de transmettre des options client via les variables d’environnement a été désactivée par défaut (cela reste possible via `ssh-server.enable_client_options_passing` dans config.xml). Prise en charge de la table de progression, de l’annulation de requête, de l’autocomplétion, de la progression des profile events, de stdin et de l’option `send_logs_level`. Cela clôt : [#74340](https://github.com/ClickHouse/ClickHouse/issues/74340). [#74989](https://github.com/ClickHouse/ClickHouse/pull/74989) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Correction du formatage des exceptions à l’aide d’un format personnalisé lorsqu’elles surviennent pendant l’interprétation d’une requête. Dans les versions précédentes, les exceptions étaient formatées avec le format par défaut au lieu de celui spécifié dans la requête. Cela clôt [#55422](https://github.com/ClickHouse/ClickHouse/issues/55422). [#74994](https://github.com/ClickHouse/ClickHouse/pull/74994) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Améliorations du parsing implémentées (parsing des ID de séquence : ajout de la prise en charge de l’analyse des identifiants de séquence dans les manifest files ET parsing des métadonnées Avro : le parseur de métadonnées Avro a été repensé pour être facilement extensible à de futures améliorations). [#75010](https://github.com/ClickHouse/ClickHouse/pull/75010) ([Daniil Ivanik](https://github.com/divanik)).
* Il est désormais possible d’annuler les requêtes `ALTER TABLE ... FREEZE ...` avec `KILL QUERY` et un délai d’expiration (`max_execution_time`). [#75016](https://github.com/ClickHouse/ClickHouse/pull/75016) ([Kirill](https://github.com/kirillgarbar)).
* Ajout de la prise en charge de `groupUniqArrayArrayMap` en tant que `SimpleAggregateFunction`. [#75034](https://github.com/ClickHouse/ClickHouse/pull/75034) ([Miel Donkers](https://github.com/mdonkers)).
* Prise en charge des instructions préparées dans le protocole Postgres wire. [#75035](https://github.com/ClickHouse/ClickHouse/pull/75035) ([scanhex12](https://github.com/scanhex12)).
* Masquage des paramètres d’identifiants du catalogue dans le database engine `Iceberg`. Clôture [#74559](https://github.com/ClickHouse/ClickHouse/issues/74559). [#75080](https://github.com/ClickHouse/ClickHouse/pull/75080) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ajout de quelques fonctionnalités manquantes à BuzzHouse : opérateurs `ILIKE` et `REGEXP`, `<=>` et `IS NOT DISTINCT FROM`. [#75168](https://github.com/ClickHouse/ClickHouse/pull/75168) ([Pedro Ferreira](https://github.com/PedroTadim)).
* Le paramètre `min_chunk_bytes_for_parallel_parsing` ne peut désormais plus être égal à zéro. Correction de : [#71110](https://github.com/ClickHouse/ClickHouse/issues/71110). [#75239](https://github.com/ClickHouse/ClickHouse/pull/75239) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* `intExp2` / `intExp10` : définition du comportement pour les cas auparavant non définis : renvoie 0 si l’argument est trop petit, `18446744073709551615` s’il est trop grand, et lève une exception si `nan`. [#75312](https://github.com/ClickHouse/ClickHouse/pull/75312) ([Vitaly Baranov](https://github.com/vitlibar)).
* Prise en charge native de `s3.endpoint` à partir de la config du catalogue dans `DatabaseIceberg`. Clôture [#74558](https://github.com/ClickHouse/ClickHouse/issues/74558). [#75375](https://github.com/ClickHouse/ClickHouse/pull/75375) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ne plus échouer silencieusement si l’utilisateur qui exécute `SYSTEM DROP REPLICA` ne dispose pas des permissions suffisantes. [#75377](https://github.com/ClickHouse/ClickHouse/pull/75377) ([Bharat Nallan](https://github.com/bharatnc)).
* Ajout d’un ProfileEvent sur le nombre de fois où l’un des logs système n’a pas pu être flushé. [#75466](https://github.com/ClickHouse/ClickHouse/pull/75466) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout d’une vérification et de logging pour le déchiffrement et la décompression. [#75471](https://github.com/ClickHouse/ClickHouse/pull/75471) ([Vitaly Baranov](https://github.com/vitlibar)).
* Ajout de la prise en charge du signe micro (U+00B5) dans la fonction `parseTimeDelta`. Désormais, le signe micro (U+00B5) et la lettre grecque mu (U+03BC) sont tous deux reconnus comme représentations valides des microsecondes, ce qui aligne le comportement de ClickHouse sur l’implémentation de Go ([voir time.go](https://github.com/golang/go/blob/ad7b46ee4ac1cee5095d64b01e8cf7fcda8bee5e/src/time/time.go#L983C19-L983C20) et [time/format.go](https://github.com/golang/go/blob/ad7b46ee4ac1cee5095d64b01e8cf7fcda8bee5e/src/time/format.go#L1608-L1609)). [#75472](https://github.com/ClickHouse/ClickHouse/pull/75472) ([Vitaly Orlov](https://github.com/orloffv)).
* Remplacement du paramètre serveur (`send_settings_to_client`) par un paramètre client (`apply_settings_from_server`) qui détermine si le code côté client (par ex. l’analyse des données INSERT et le formatage de la sortie des requêtes) doit utiliser les paramètres définis dans le `users.xml` du serveur et dans le profil utilisateur. Sinon, seuls les paramètres de la ligne de commande du client, de la session et de la requête sont utilisés. Notez que cela s’applique uniquement au native client (et non, par ex., à HTTP) et ne concerne pas la majeure partie du query processing (qui a lieu sur le serveur). [#75478](https://github.com/ClickHouse/ClickHouse/pull/75478) ([Michael Kolupaev](https://github.com/al13n321)).
* Amélioration de Keeper : désactivation du calcul du digest lors du commit vers le stockage en mémoire afin d’améliorer les performances. Il peut être activé avec la config `keeper_server.digest_enabled_on_commit`. Le digest continue d’être calculé lors du prétraitement des requêtes. [#75490](https://github.com/ClickHouse/ClickHouse/pull/75490) ([Antonio Andelic](https://github.com/antonio2368)).
* Push down de l’expression de filtre depuis JOIN ON lorsque c’est possible. [#75536](https://github.com/ClickHouse/ClickHouse/pull/75536) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Meilleurs messages d’erreur en cas d’erreur de syntaxe. Auparavant, si la requête était trop volumineuse et que le jeton dépassant la limite de longueur était une très longue chaîne littérale, le message expliquant la cause se perdait au milieu de deux exemples de ce jeton très long. Correction également d’un problème où une requête en UTF-8 était tronquée de manière incorrecte dans le message d’erreur. Suppression aussi de l’usage excessif de guillemets autour des fragments de requête. Ceci clôt [#75473](https://github.com/ClickHouse/ClickHouse/issues/75473). [#75561](https://github.com/ClickHouse/ClickHouse/pull/75561) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout des événements de profil dans le stockage `S3(Azure)Queue`. [#75618](https://github.com/ClickHouse/ClickHouse/pull/75618) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Désactivation de l’envoi des réglages du serveur au client (`send_settings_to_client=false`) pour des raisons de compatibilité (cette fonctionnalité sera réimplémentée plus tard sous forme de client setting pour une meilleure ergonomie). [#75648](https://github.com/ClickHouse/ClickHouse/pull/75648) ([Michael Kolupaev](https://github.com/al13n321)).
* Ajout d’une config `memory_worker_correct_memory_tracker` pour permettre la correction du memory tracker interne à l’aide d’informations provenant de différentes sources, lues périodiquement dans le thread d’arrière-plan. [#75714](https://github.com/ClickHouse/ClickHouse/pull/75714) ([Antonio Andelic](https://github.com/antonio2368)).
* Utilisation de l’Analyzer dans PrometheusRemoteReadProtocol. [#75729](https://github.com/ClickHouse/ClickHouse/pull/75729) ([Dmitry Novik](https://github.com/novikd)).
* Les types de métriques gauge/counter sont pris en charge. Toutefois, ils sont insuffisants pour certaines métriques (par exemple, les temps de réponse des requêtes adressées à Keeper), d’où la nécessité de prendre en charge le type de métrique histogramme. L’interface reprend de très près celle du client Prometheus, où il suffit d’appeler `observe(value)` pour incrémenter le compteur dans le bucket correspondant à la valeur. Les métriques d’histogramme sont exposées via system.histogram\_metrics. [#75736](https://github.com/ClickHouse/ClickHouse/pull/75736) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Ajout de la colonne `normalized_query_hash` dans `system.processes`. Remarque : bien qu’elle puisse être facilement calculée à la volée avec la fonction `normalizedQueryHash`, cela est nécessaire pour préparer les changements à venir. [#75756](https://github.com/ClickHouse/ClickHouse/pull/75756) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Interroger `system.tables` ne provoquera plus d’exception, même s’il existe une table `Merge` créée sur une base de données qui n’existe plus. Suppression de la méthode `getTotalRows` des tables `Hive`, car nous ne lui permettons pas d’effectuer un traitement complexe. [#75772](https://github.com/ClickHouse/ClickHouse/pull/75772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* L’interface web dispose désormais d’une navigation interactive dans les bases de données. [#75777](https://github.com/ClickHouse/ClickHouse/pull/75777) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Possibilité de combiner des disques en lecture seule et en lecture-écriture dans une stratégie de stockage (sous forme de plusieurs volumes ou de plusieurs disques). Cela permet de lire les données depuis l’ensemble du volume, tandis que les inserts privilégieront le disque accessible en écriture (c.-à-d. une stratégie de stockage copy-on-write). [#75862](https://github.com/ClickHouse/ClickHouse/pull/75862) ([Azat Khuzhin](https://github.com/azat)).
* Suppression de trace\_id du ORDER BY par défaut pour system.opentelemetry\_span\_log. [#75907](https://github.com/ClickHouse/ClickHouse/pull/75907) ([Azat Khuzhin](https://github.com/azat)).
* Le chiffrement (attribut XML `encrypted_by`) peut désormais être appliqué à n’importe quel fichier de configuration (config.xml, users.xml, fichiers de configuration imbriqués). Auparavant, il ne fonctionnait que pour le fichier config.xml de niveau supérieur. [#75911](https://github.com/ClickHouse/ClickHouse/pull/75911) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* Stockage de start\_time/end\_time pour les sauvegardes avec une précision de l’ordre de la microseconde. [#75929](https://github.com/ClickHouse/ClickHouse/pull/75929) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Ajout de la métrique `MemoryTrackingUncorrected`, qui affiche la valeur du memory tracker global interne non corrigée par le RSS. [#75935](https://github.com/ClickHouse/ClickHouse/pull/75935) ([Antonio Andelic](https://github.com/antonio2368)).
* Calcul à la demande de la taille des colonnes et des index dans MergeTree. [#75938](https://github.com/ClickHouse/ClickHouse/pull/75938) ([Pavel Kruglov](https://github.com/Avogar)).
* La conversion d’une jointure en sous-requête `IN` lorsque la colonne de sortie est liée à la table de gauche nécessite d’abord une étape d’unicité ; cette fonctionnalité est donc désactivée par défaut jusqu’à l’ajout ultérieur de cette étape. [#75942](https://github.com/ClickHouse/ClickHouse/pull/75942) ([Shichao Jin](https://github.com/jsc0218)).
* Ajout d’un paramètre serveur `throw_on_unknown_workload` permettant de choisir le comportement d’une requête dont le paramètre `workload` est défini sur une valeur inconnue : soit autoriser un accès illimité (par défaut), soit lever une erreur `RESOURCE_ACCESS_DENIED`. Cela permet d’imposer l’utilisation du Workload scheduling pour toutes les requêtes. [#75999](https://github.com/ClickHouse/ClickHouse/pull/75999) ([Sergei Trifonov](https://github.com/serxa)).
* Le nouveau Kafka table engine, encore Experimental, respecte désormais entièrement les feature flags de Keeper. [#76004](https://github.com/ClickHouse/ClickHouse/pull/76004) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Ne pas réécrire les subcolumns en getSubcolumn dans ARRAY JOIN lorsque ce n’est pas nécessaire. [#76018](https://github.com/ClickHouse/ClickHouse/pull/76018) ([Pavel Kruglov](https://github.com/Avogar)).
* Réessai des erreurs de coordination lors du chargement des tables. [#76020](https://github.com/ClickHouse/ClickHouse/pull/76020) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Amélioration de la table `system.warnings` et ajout de messages d’avertissement dynamiques pouvant être ajoutés, mis à jour ou supprimés. [#76029](https://github.com/ClickHouse/ClickHouse/pull/76029) ([Bharat Nallan](https://github.com/bharatnc)).
* Prise en charge du flush de logs individuels dans SYSTEM FLUSH LOGS. [#76132](https://github.com/ClickHouse/ClickHouse/pull/76132) ([Raúl Marín](https://github.com/Algunenano)).
* Amélioration de la page `/binary` du serveur : utilisation de la courbe de Hilbert à la place de la courbe de Morton ; affichage de 512 Mo d’adresses dans le carré, qui est ainsi mieux rempli (dans les versions précédentes, les adresses n’en occupaient que la moitié) ; coloration des adresses davantage liée au nom de la bibliothèque qu’au nom de la fonction ; possibilité de faire défiler un peu plus au-delà de la zone. [#76192](https://github.com/ClickHouse/ClickHouse/pull/76192) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Cette PR empêche l’exécution de la requête `ALTER USER user1 ADD PROFILES a, DROP ALL PROFILES`, car toutes les opérations `DROP` doivent apparaître en premier. [#76242](https://github.com/ClickHouse/ClickHouse/pull/76242) ([pufit](https://github.com/pufit)).
* Diverses améliorations pour SYNC REPLICA (meilleurs messages d’erreur, meilleurs tests, vérifications de cohérence). [#76307](https://github.com/ClickHouse/ClickHouse/pull/76307) ([Azat Khuzhin](https://github.com/azat)).
* Réessai des requêtes ON CLUSTER en cas de TOO\_MANY\_SIMULTANEOUS\_QUERIES. [#76352](https://github.com/ClickHouse/ClickHouse/pull/76352) ([Patrick Galbraith](https://github.com/CaptTofu)).
* La valeur par défaut de `output_format_pretty_max_rows` passe de 10000 à 1000. Je pense que c’est préférable pour l’ergonomie. [#76407](https://github.com/ClickHouse/ClickHouse/pull/76407) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Prise en charge du refresh dans les tables MergeTree en lecture seule. [#76467](https://github.com/ClickHouse/ClickHouse/pull/76467) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Utilisation du mécanisme de repli approprié lorsqu'une copie multipart vers S3 échoue pendant une sauvegarde avec l'erreur Access Denied. Une copie multipart peut générer une erreur Access Denied lorsqu'une sauvegarde est effectuée entre des buckets utilisant des informations d'identification différentes. [#76515](https://github.com/ClickHouse/ClickHouse/pull/76515) ([Antonio Andelic](https://github.com/antonio2368)).
* Arrêt plus rapide des serveurs ClickHouse (suppression du délai de 2,5 s). [#76550](https://github.com/ClickHouse/ClickHouse/pull/76550) ([Azat Khuzhin](https://github.com/azat)).
* Ajout de query\_id à system.errors. Ticket associé : [#75815](https://github.com/ClickHouse/ClickHouse/issues/75815). [#76581](https://github.com/ClickHouse/ClickHouse/pull/76581) ([Vladimir Baikov](https://github.com/bkvvldmr)).
* Mise à niveau de librdkafka vers la version 2.8.0 et amélioration de la séquence d'arrêt des tables Kafka, réduisant les délais lors des suppressions de tables et des redémarrages du serveur. `engine=Kafka` ne quitte plus explicitement le consumer group lorsqu'une table est supprimée. À la place, le consumer reste dans le groupe jusqu'à en être automatiquement retiré après `session_timeout_ms` (45 secondes par défaut) d'inactivité. [#76621](https://github.com/ClickHouse/ClickHouse/pull/76621) ([filimonov](https://github.com/filimonov)).
* Correction de la validation des paramètres de requête S3. [#76658](https://github.com/ClickHouse/ClickHouse/pull/76658) ([Vitaly Baranov](https://github.com/vitlibar)).
* Évite les allocations excessives dans readbufferfroms3 et d'autres buffers de lecture distants, et réduit de moitié leur consommation de mémoire. [#76692](https://github.com/ClickHouse/ClickHouse/pull/76692) ([Sema Checherinda](https://github.com/CheSema)).
* Prise en charge de la lecture du type JSON et des sous-colonnes depuis View. [#76903](https://github.com/ClickHouse/ClickHouse/pull/76903) ([Pavel Kruglov](https://github.com/Avogar)).
* Ajout de la prise en charge de la conversion de UInt128 en IPv6. Cela permet l'opération `bitAnd` et les opérations arithmétiques sur IPv6, ainsi que la conversion inverse vers IPv6. Ferme [#76752](https://github.com/ClickHouse/ClickHouse/issues/76752). Cela permet également de reconvertir en IPv6 le résultat de l'opération `bitAnd` sur IPv6. Voir : [https://github.com/ClickHouse/ClickHouse/pull/57707](https://github.com/ClickHouse/ClickHouse/pull/57707). [#76928](https://github.com/ClickHouse/ClickHouse/pull/76928) ([Muzammil Abdul Rehman](https://github.com/muzammilar)).
* Les tables système comme `server_settings` ou `settings` disposent d'une colonne `default`, ce qui est pratique. Seules `merge_tree_settings` et `replicated_merge_tree_settings` n'avaient pas cette colonne activée. [#76942](https://github.com/ClickHouse/ClickHouse/pull/76942) ([Diego Nieto](https://github.com/lesandie)).
* N'analyse plus par défaut les valeurs Bool spéciales dans les formats texte à l'intérieur du type Variant. Cela peut être activé à l'aide du paramètre `allow_special_bool_values_inside_variant`. [#76974](https://github.com/ClickHouse/ClickHouse/pull/76974) ([Pavel Kruglov](https://github.com/Avogar)).
* Prise en charge d'un temps d'attente configurable par tâche pour les requêtes de faible priorité, au niveau de la session comme au niveau du serveur. [#77013](https://github.com/ClickHouse/ClickHouse/pull/77013) ([VicoWu](https://github.com/VicoWu)).
* Ajout de `ProfileEvents::QueryPreempted`, qui suit la même logique que `CurrentMetrics::QueryPreempted`. [#77015](https://github.com/ClickHouse/ClickHouse/pull/77015) ([VicoWu](https://github.com/VicoWu)).
* Auparavant, une base de données replicated pouvait afficher dans les logs des informations d'identification spécifiées dans une requête. Ce comportement a été corrigé. Cela ferme : [#77123](https://github.com/ClickHouse/ClickHouse/issues/77123). [#77133](https://github.com/ClickHouse/ClickHouse/pull/77133) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Passage de zstd de 1.5.5 à 1.5.7, qui apporte de [bonnes améliorations des performances](https://github.com/facebook/zstd/releases/tag/v1.5.7). [#77137](https://github.com/ClickHouse/ClickHouse/pull/77137) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* Autorise ALTER TABLE DROP PARTITION pour le disque plain\_rewritable. [#77138](https://github.com/ClickHouse/ClickHouse/pull/77138) ([Julia Kartseva](https://github.com/jkartseva)).
* Ajoute la possibilité d’attendre aléatoirement jusqu’à 500 ms, indépendamment de la taille des parts, avant l’exécution des merges/mutations en cas de zero-copy replication. [#77165](https://github.com/ClickHouse/ClickHouse/pull/77165) ([Alexey Katsman](https://github.com/alexkats)).
* Prend en charge le renommage atomique lorsque `TRUNCATE` est utilisé avec `INTO OUTFILE`. Résout [#70323](https://github.com/ClickHouse/ClickHouse/issues/70323). [#77181](https://github.com/ClickHouse/ClickHouse/pull/77181) ([Onkar Deshpande](https://github.com/onkar)).
* Utilise FixedString pour les types CHARACTER, CHAR et BPCHAR de PostgreSQL. [#77304](https://github.com/ClickHouse/ClickHouse/pull/77304) ([Pablo Marcos](https://github.com/pamarcos)).
* Permet de spécifier explicitement le fichier de métadonnées à lire pour Iceberg avec le paramètre de moteur de stockage/table function `iceberg_metadata_file_path `. Corrige [#47412](https://github.com/ClickHouse/ClickHouse/issues/47412). [#77318](https://github.com/ClickHouse/ClickHouse/pull/77318) ([alesapin](https://github.com/alesapin)).
* Prend en charge l’utilisation d’un disque distant pour stocker les fichiers de métadonnées des bases de données. [#77365](https://github.com/ClickHouse/ClickHouse/pull/77365) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Implémente la comparaison des valeurs du type de données JSON. Les objets JSON peuvent désormais être comparés comme les Maps. [#77397](https://github.com/ClickHouse/ClickHouse/pull/77397) ([Pavel Kruglov](https://github.com/Avogar)).
* Changement annulé. [#77399](https://github.com/ClickHouse/ClickHouse/pull/77399) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Le paramètre de backup/restore `allow_s3_native_copy` prend désormais en charge trois valeurs possibles : - `False` - la copie native S3 ne sera pas utilisée ; - `True` (ancienne valeur par défaut) - ClickHouse essaiera d’abord la copie native S3, puis reviendra à l’approche lecture+écriture en cas d’échec ; - `'auto'` (nouvelle valeur par défaut) - ClickHouse comparera d’abord les identifiants de la source et de la destination. S’ils sont identiques, ClickHouse essaiera la copie native S3 puis pourra revenir à l’approche lecture+écriture. S’ils sont différents, ClickHouse passera directement à l’approche lecture+écriture. [#77401](https://github.com/ClickHouse/ClickHouse/pull/77401) ([Vitaly Baranov](https://github.com/vitlibar)).
* Prend en charge ALTER TABLE ... ATTACH|DETACH|MOVE|REPLACE PARTITION pour le disque plain\_rewritable. [#77406](https://github.com/ClickHouse/ClickHouse/pull/77406) ([Julia Kartseva](https://github.com/jkartseva)).
* Le cache de l’index de saut est annulé. [#77447](https://github.com/ClickHouse/ClickHouse/pull/77447) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Réduit la consommation mémoire lors des prefetches d’une colonne JSON dans les Wide parts. [#77640](https://github.com/ClickHouse/ClickHouse/pull/77640) ([Pavel Kruglov](https://github.com/Avogar)).
* Prend en charge l’utilisation du jeton de session AWS et des identifiants d’environnement dans delta kernel pour le moteur de table DeltaLake. [#77661](https://github.com/ClickHouse/ClickHouse/pull/77661) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Prend en charge les paramètres de requête dans le paramètre `additional_table_filters`. Après ce changement, la requête suivante réussit :. [#77680](https://github.com/ClickHouse/ClickHouse/pull/77680) ([wxybear](https://github.com/wxybear)).
* Les fonctions définies par l'utilisateur (UDF) peuvent désormais être marquées comme déterministes via une nouvelle balise dans leur définition XML. De plus, le cache de requêtes vérifie désormais si les UDF appelées dans une requête sont déterministes. Si c'est le cas, il met en cache le résultat de la requête. (Issue [#59988](https://github.com/ClickHouse/ClickHouse/issues/59988)). [#77769](https://github.com/ClickHouse/ClickHouse/pull/77769) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Ajout de la validation des paramètres du moteur de table Buffer. [#77840](https://github.com/ClickHouse/ClickHouse/pull/77840) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Ajout de la config `enable_hdfs_pread` pour activer ou désactiver `hdfs pread`. [#77885](https://github.com/ClickHouse/ClickHouse/pull/77885) ([kevinyhzou](https://github.com/KevinyhZou)).
* Ajout de profile events pour le nombre de requêtes de lecture et d'écriture `multi` de ZooKeeper. [#77888](https://github.com/ClickHouse/ClickHouse/pull/77888) ([JackyWoo](https://github.com/JackyWoo)).
* Possibilité de créer une table temporaire et d'y insérer des données lorsque `disable&#95;insertion&#95;and&#95;mutation` est activé. [#77901](https://github.com/ClickHouse/ClickHouse/pull/77901) ([Xu Jia](https://github.com/XuJia0210)).
* Réduction de `max&#95;insert&#95;delayed&#95;streams&#95;for&#95;parallel&#95;write` à 100. [#77919](https://github.com/ClickHouse/ClickHouse/pull/77919) ([Azat Khuzhin](https://github.com/azat)).
* Ajout de la possibilité de configurer le nombre de colonnes que les merges peuvent flush en parallèle à l'aide de `max_merge_delayed_streams_for_parallel_write` (cela devrait réduire d'environ 25 fois la consommation mémoire des fusions verticales vers S3). [#77922](https://github.com/ClickHouse/ClickHouse/pull/77922) ([Azat Khuzhin](https://github.com/azat)).
* Correction du parsing des années en syntaxe Joda, comme 'yyy'. [#77973](https://github.com/ClickHouse/ClickHouse/pull/77973) ([李扬](https://github.com/taiyang-li)).
* Le rattachement des parts de tables MergeTree sera effectué dans leur ordre de block, ce qui est important pour certains algorithmes de merging spéciaux, tels que ReplacingMergeTree. Cela clôt [#71009](https://github.com/ClickHouse/ClickHouse/issues/71009). [#77976](https://github.com/ClickHouse/ClickHouse/pull/77976) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Les Query masking rules peuvent désormais déclencher une LOGICAL\_ERROR en cas de correspondance. Cela aidera à vérifier si un mot de passe prédéfini fuit quelque part dans les logs. [#78094](https://github.com/ClickHouse/ClickHouse/pull/78094) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ajout de la colonne `index_length_column` à `information_schema.tables` pour une meilleure compatibilité avec MySQL. [#78119](https://github.com/ClickHouse/ClickHouse/pull/78119) ([Paweł Zakrzewski](https://github.com/KrzaQ)).
* Introduction de deux nouvelles métriques : `TotalMergeFailures` et `NonAbortedMergeFailures`. Ces métriques sont nécessaires pour détecter les cas où un trop grand nombre de merges échouent sur une courte période. [#78150](https://github.com/ClickHouse/ClickHouse/pull/78150) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Correction du parsing incorrect de l'URI S3 lorsque la clé n'est pas spécifiée en style de chemin. [#78185](https://github.com/ClickHouse/ClickHouse/pull/78185) ([Arthur Passos](https://github.com/arthurpassos)).
* Correction des valeurs incorrectes des métriques asynchrones `BlockActiveTime`, `BlockDiscardTime`, `BlockWriteTime`, `BlockQueueTime` et `BlockReadTime` (avant ce changement, 1 seconde était incorrectement signalée comme 0.001). [#78211](https://github.com/ClickHouse/ClickHouse/pull/78211) ([filimonov](https://github.com/filimonov)).
* Respect de la limite `loading_retries` pour les erreurs lors de l’envoi vers la vue matérialisée pour StorageS3(Azure)Queue. Auparavant, ces erreurs étaient réessayées indéfiniment. [#78313](https://github.com/ClickHouse/ClickHouse/pull/78313) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Dans StorageDeltaLake avec l’implémentation delta-kernel-rs, correction des performances et de la barre de progression. [#78368](https://github.com/ClickHouse/ClickHouse/pull/78368) ([Kseniia Sumarokova](https://github.com/kssenii)).
* L’index de similarité vectorielle pouvait surallouer jusqu’à 2x la mémoire vive. Ce correctif revoit la stratégie d’allocation mémoire, réduit la consommation de mémoire et améliore l’efficacité du cache de l’index de similarité vectorielle. (issue [#78056](https://github.com/ClickHouse/ClickHouse/issues/78056)). [#78394](https://github.com/ClickHouse/ClickHouse/pull/78394) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Introduction d’un paramètre `schema_type` pour la table `system.metric_log` avec type de schéma. Trois schémas sont autorisés : `wide` -- schéma actuel, chaque métrique/événement dans une colonne distincte (le plus efficace pour lire des colonnes séparées), `transposed` -- similaire à `system.asynchronous_metric_log`, les métriques/événements sont stockés sous forme de lignes, et, plus intéressant, `transposed_with_wide_view` -- crée une table sous-jacente avec le schéma `transposed`, mais introduit également une vue avec le schéma `wide` qui traduit les requêtes vers la table sous-jacente. Dans `transposed_with_wide_view`, la résolution inférieure à la seconde pour la vue n’est pas prise en charge, `event_time_microseconds` n’étant qu’un alias pour la rétrocompatibilité. [#78412](https://github.com/ClickHouse/ClickHouse/pull/78412) ([alesapin](https://github.com/alesapin)).
* Prise en charge de `include`, `from_env`, `from_zk` pour les disks d’exécution. Closes [#78177](https://github.com/ClickHouse/ClickHouse/issues/78177). [#78470](https://github.com/ClickHouse/ClickHouse/pull/78470) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ajout de plusieurs moyens pratiques pour localiser le fichier racine metadata.json dans une table function et un engine Iceberg. Closes [#78455](https://github.com/ClickHouse/ClickHouse/issues/78455). [#78475](https://github.com/ClickHouse/ClickHouse/pull/78475) ([Daniil Ivanik](https://github.com/divanik)).
* Prise en charge du partition pruning dans delta lake. [#78486](https://github.com/ClickHouse/ClickHouse/pull/78486) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Prise en charge de l’authentification par mot de passe dans le protocole SSH de ClickHouse. [#78586](https://github.com/ClickHouse/ClickHouse/pull/78586) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ajout d’un avertissement dynamique à la table `system.warnings` pour les mutations de longue durée. [#78658](https://github.com/ClickHouse/ClickHouse/pull/78658) ([Bharat Nallan](https://github.com/bharatnc)).
* Abandon des connections si le CPU est fortement surchargé. La décision est prise en fonction du ratio entre le temps d’attente (`OSCPUWaitMicroseconds`) et le temps d’activité (`OSCPUVirtualTimeMicroseconds`). La query est abandonnée avec une certaine probabilité lorsque ce ratio se situe entre `min_os_cpu_wait_time_ratio_to_drop_connection` et `max_os_cpu_wait_time_ratio_to_drop_connection`. [#78778](https://github.com/ClickHouse/ClickHouse/pull/78778) ([Alexey Katsman](https://github.com/alexkats)).
* Autorisation d’une valeur vide pour le partitionnement Hive. [#78816](https://github.com/ClickHouse/ClickHouse/pull/78816) ([Arthur Passos](https://github.com/arthurpassos)).
* Correction de la coercition de type de la clause `IN` pour `BFloat16` (c.-à-d. `SELECT toBFloat16(1) IN [1, 2, 3];` renvoie désormais `1`). Closes [#78754](https://github.com/ClickHouse/ClickHouse/issues/78754). [#78839](https://github.com/ClickHouse/ClickHouse/pull/78839) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Ne pas vérifier les parts sur d’autres disks pour MergeTree si disk= est défini. [#78855](https://github.com/ClickHouse/ClickHouse/pull/78855) ([Azat Khuzhin](https://github.com/azat)).
* Rendre canoniques les types de données dans `used_data_type_families` de `system.query_log`. [#78972](https://github.com/ClickHouse/ClickHouse/pull/78972) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="bug-fix">
  ## Correction de bug (dysfonctionnement visible par l’utilisateur dans une version stable officielle)
</div>

* Corrige l’impossibilité de créer un nœud SEQUENTIAL avec keeper-client. [#64177](https://github.com/ClickHouse/ClickHouse/pull/64177) ([Duc Canh Le](https://github.com/canhld94)).
* Corrige la résolution des identifiants depuis les scopes parents. Autorise l’utilisation d’alias d’expressions dans la clause WITH. Corrige [#58994](https://github.com/ClickHouse/ClickHouse/issues/58994). Corrige [#62946](https://github.com/ClickHouse/ClickHouse/issues/62946). Corrige [#63239](https://github.com/ClickHouse/ClickHouse/issues/63239). Corrige [#65233](https://github.com/ClickHouse/ClickHouse/issues/65233). Corrige [#71659](https://github.com/ClickHouse/ClickHouse/issues/71659). Corrige [#71828](https://github.com/ClickHouse/ClickHouse/issues/71828). Corrige [#68749](https://github.com/ClickHouse/ClickHouse/issues/68749). [#66143](https://github.com/ClickHouse/ClickHouse/pull/66143) ([Dmitry Novik](https://github.com/novikd)).
* Corrige le comptage incorrect des caractères dans PositionImpl::vectorVector. [#71003](https://github.com/ClickHouse/ClickHouse/pull/71003) ([思维](https://github.com/heymind)).
* Corrige la monotonie de la fonction negate. Dans les versions précédentes, la requête `select * from a where -x = -42;`, où `x` est la clé primaire, pouvait renvoyer un résultat erroné. [#71440](https://github.com/ClickHouse/ClickHouse/pull/71440) ([Michael Kolupaev](https://github.com/al13n321)).
* Les opérations `RESTORE` sur les entités d’accès nécessitaient plus d’autorisations que nécessaire en raison de révocations partielles non gérées. Cette PR corrige le problème. Clôt [#71853](https://github.com/ClickHouse/ClickHouse/issues/71853). [#71958](https://github.com/ClickHouse/ClickHouse/pull/71958) ([pufit](https://github.com/pufit)).
* Évite une pause après `ALTER TABLE REPLACE/MOVE PARTITION FROM/TO TABLE`. Récupère les paramètres corrects pour l’ordonnancement des tâches en arrière-plan. [#72024](https://github.com/ClickHouse/ClickHouse/pull/72024) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Corrige la gestion des tuples vides dans arrayIntersect. Corrige [#72578](https://github.com/ClickHouse/ClickHouse/issues/72578). [#72581](https://github.com/ClickHouse/ClickHouse/pull/72581) ([Amos Bird](https://github.com/amosbird)).
* Corrige la gestion des tuples vides dans certains formats d’entrée et de sortie (par ex. Parquet, Arrow). [#72616](https://github.com/ClickHouse/ClickHouse/pull/72616) ([Michael Kolupaev](https://github.com/al13n321)).
* Les instructions GRANT SELECT/INSERT au niveau des colonnes sur des bases de données/tables avec caractères génériques renvoient désormais une erreur. [#72646](https://github.com/ClickHouse/ClickHouse/pull/72646) ([Johann Gan](https://github.com/johanngan)).
* Corrige le cas où un utilisateur ne peut pas exécuter `REVOKE ALL ON *.*` en raison de grants implicites dans l’entité d’accès cible. [#72872](https://github.com/ClickHouse/ClickHouse/pull/72872) ([pufit](https://github.com/pufit)).
* Corrige le blocage lors du traitement d’un batch en attente pour un INSERT distribué asynchrone (dû par ex. à `No such file or directory`). [#72939](https://github.com/ClickHouse/ClickHouse/pull/72939) ([Azat Khuzhin](https://github.com/azat)).
* Ajoute la prise en charge des jetons SAS Azure. [#72959](https://github.com/ClickHouse/ClickHouse/pull/72959) ([Azat Khuzhin](https://github.com/azat)).
* Corrige le formatage des fuseaux horaires positifs dans la fonction scalaire formatDateTime. [#73091](https://github.com/ClickHouse/ClickHouse/pull/73091) ([ollidraese](https://github.com/ollidraese)).
* Corrige la remontée correcte du port source lorsqu’une connexion est établie via PROXYv1 et que `auth_use_forwarded_address` est défini : auparavant, le port du proxy était utilisé à tort. Ajoute la fonction `currentQueryID()`. [#73095](https://github.com/ClickHouse/ClickHouse/pull/73095) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Propage les paramètres de format à NativeWriter dans TCPHandler, afin que des paramètres comme `output_format_native_write_json_as_string` soient correctement appliqués. [#73179](https://github.com/ClickHouse/ClickHouse/pull/73179) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige la lecture des sous-colonnes de sous-objets JSON avec un préfixe incorrect. [#73182](https://github.com/ClickHouse/ClickHouse/pull/73182) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un plantage dans StorageObjectStorageQueue. [#73274](https://github.com/ClickHouse/ClickHouse/pull/73274) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un plantage rare dans une vue matérialisée rafraîchissable pendant l’arrêt du serveur. [#73323](https://github.com/ClickHouse/ClickHouse/pull/73323) ([Michael Kolupaev](https://github.com/al13n321)).
* L’espace réservé `%f` de la fonction `formatDateTime` génère désormais systématiquement six chiffres (fractions de seconde). Cela rend le comportement compatible avec la fonction MySQL `DATE_FORMAT`. Le comportement précédent peut être rétabli à l’aide du paramètre `formatdatetime_f_prints_scale_number_of_digits = 1`. [#73324](https://github.com/ClickHouse/ClickHouse/pull/73324) ([ollidraese](https://github.com/ollidraese)).
* Améliore la conversion datetime lors de l’analyse des index en imposant un comportement saturant pour les conversions implicites de Date vers DateTime. Cela corrige de potentielles imprécisions de l’analyse des index dues aux limites des plages datetime. Cela corrige [#73307](https://github.com/ClickHouse/ClickHouse/issues/73307). Corrige également la conversion explicite `toDateTime` lorsque `date_time_overflow_behavior = 'ignore'`, qui est la valeur par défaut. [#73326](https://github.com/ClickHouse/ClickHouse/pull/73326) ([Amos Bird](https://github.com/amosbird)).
* Corrige le filtrage sur la colonne `_etag` lors de la lecture depuis le stockage `s3` et une table function. [#73353](https://github.com/ClickHouse/ClickHouse/pull/73353) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige l’erreur `Not-ready Set is passed as the second argument for function 'in'` lorsque `IN (subquery)` est utilisé dans une expression `JOIN ON`, avec l’ancien analyseur. [#73382](https://github.com/ClickHouse/ClickHouse/pull/73382) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige la préparation au squashing pour les colonnes Dynamic et JSON. Auparavant, dans certains cas, de nouveaux types pouvaient être insérés dans shared variant/shared data même lorsque la limite de types/chemins n’était pas atteinte. [#73388](https://github.com/ClickHouse/ClickHouse/pull/73388) ([Pavel Kruglov](https://github.com/Avogar)).
* Vérifie les tailles corrompues lors du décodage binaire des types afin d’éviter des allocations excessives. [#73390](https://github.com/ClickHouse/ClickHouse/pull/73390) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige une erreur logique lors de la lecture depuis un cluster à réplique unique avec les répliques parallèles activées. [#73403](https://github.com/ClickHouse/ClickHouse/pull/73403) ([Michael Kolupaev](https://github.com/al13n321)).
* Corrige ObjectStorageQueue avec ZooKeeper et les anciennes versions de Keeper. [#73420](https://github.com/ClickHouse/ClickHouse/pull/73420) ([Antonio Andelic](https://github.com/antonio2368)).
* Implémente le correctif nécessaire pour activer par défaut le partitionnement Hive. [#73479](https://github.com/ClickHouse/ClickHouse/pull/73479) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige une data race lors de la création d’un index de similarité vectorielle. [#73517](https://github.com/ClickHouse/ClickHouse/pull/73517) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige un segfault lorsque la source du dictionnaire contient une fonction avec des données incorrectes. [#73535](https://github.com/ClickHouse/ClickHouse/pull/73535) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige les tentatives de nouvelle insertion après l’échec d’un insert dans le stockage S3(Azure)Queue. Clôt [#70951](https://github.com/ClickHouse/ClickHouse/issues/70951). [#73546](https://github.com/ClickHouse/ClickHouse/pull/73546) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction d'une erreur dans la fonction `tupleElement`, qui peut apparaître dans certains cas avec des tuples contenant des éléments `LowCardinality` et le paramètre `optimize_functions_to_subcolumns` activé. [#73548](https://github.com/ClickHouse/ClickHouse/pull/73548) ([Anton Popov](https://github.com/CurtizJ)).
* Correction de l'analyse d'un enum glob suivi d'une plage. Corrige [#73473](https://github.com/ClickHouse/ClickHouse/issues/73473). [#73569](https://github.com/ClickHouse/ClickHouse/pull/73569) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Correction d'un problème où parallel\_replicas\_for\_non\_replicated\_merge\_tree était ignoré dans les sous-requêtes des tables non répliquées. [#73584](https://github.com/ClickHouse/ClickHouse/pull/73584) ([Igor Nikonov](https://github.com/devcrafter)).
* Correction d'un `std::logical_error` levé lorsqu'une tâche ne peut pas être planifiée. Problème détecté dans des tests de stress. Exemple de stacktrace : `2024.12.19 02:05:46.171833 [ 18190 ] {01f0daba-d3cc-4898-9e0e-c2c263306427} <Fatal> : Logical error: 'std::exception. Code: 1001, type: std::__1::future_error, e.what() = The associated promise has been destructed prior to the associated state becoming ready. (version 25.1.1.18724), Stack trace:.` [#73629](https://github.com/ClickHouse/ClickHouse/pull/73629) ([Alexander Gololobov](https://github.com/davenger)).
* N'interprétez pas les requêtes dans `EXPLAIN SYNTAX`, afin d'éviter des erreurs logiques dues à une étape de traitement incorrecte pour les requêtes distribuées. Corrige [#65205](https://github.com/ClickHouse/ClickHouse/issues/65205). [#73634](https://github.com/ClickHouse/ClickHouse/pull/73634) ([Dmitry Novik](https://github.com/novikd)).
* Correction d'une possible incohérence de données dans une colonne Dynamic. Corrige une possible erreur logique `Nested columns sizes are inconsistent with local_discriminators column size`. [#73644](https://github.com/ClickHouse/ClickHouse/pull/73644) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction de `NOT_FOUND_COLUMN_IN_BLOCK` dans les requêtes avec `FINAL` et `SAMPLE`. Correction également d'un résultat incorrect dans les requêtes SELECT avec `FINAL` sur `CollapsingMergeTree` lorsque les optimisations de `FINAL` sont activées. [#73682](https://github.com/ClickHouse/ClickHouse/pull/73682) ([Anton Popov](https://github.com/CurtizJ)).
* Correction d'un crash dans LIMIT BY COLUMNS. [#73686](https://github.com/ClickHouse/ClickHouse/pull/73686) ([Raúl Marín](https://github.com/Algunenano)).
* Correction d'un bug lorsque l'utilisation de la projection normale est forcée et que la requête est exactement identique à la projection définie, mais que la projection n'est pas sélectionnée, ce qui entraîne une erreur. [#73700](https://github.com/ClickHouse/ClickHouse/pull/73700) ([Shichao Jin](https://github.com/jsc0218)).
* Correction de la désérialisation de la structure Dynamic/Object. Cela pouvait entraîner des exceptions CANNOT\_READ\_ALL\_DATA. [#73767](https://github.com/ClickHouse/ClickHouse/pull/73767) ([Pavel Kruglov](https://github.com/Avogar)).
* Ignorer `metadata_version.txt` lors de la restauration de parts depuis une sauvegarde. [#73768](https://github.com/ClickHouse/ClickHouse/pull/73768) ([Vitaly Baranov](https://github.com/vitlibar)).
* Corrige [#73737](https://github.com/ClickHouse/ClickHouse/issues/73737). [#73775](https://github.com/ClickHouse/ClickHouse/pull/73775) ([zhanglistar](https://github.com/zhanglistar)).
* Corrige [#72078](https://github.com/ClickHouse/ClickHouse/issues/72078) (la prise en charge de S3 Express était défaillante). [#73777](https://github.com/ClickHouse/ClickHouse/pull/73777) ([Sameer Tamsekar](https://github.com/stamsekar)).
* Autoriser la fusion de lignes avec des valeurs invalides dans la colonne de signe des tables CollapsingMergeTree. [#73864](https://github.com/ClickHouse/ClickHouse/pull/73864) ([Christoph Wurm](https://github.com/cwurm)).
* Correction de l’erreur suivante : `Row 1: ────── hostname: c-test-wy-37-server-nlkyjyb-0.c-test-wy-37-server-headless.ns-test-wy-37.svc.cluster.local type: ExceptionWhileProcessing event_date: 2024-12-23 event_time: 2024-12-23 16:21:19 event_time_microseconds: 2024-12-23 16:21:19.824624 query_start_time: 2024-12-23 16:21:19 query_start_time_microseconds: 2024-12-23 16:21:19.747142 query_duration_ms: 77 read_rows: 1 read_bytes: 134 written_rows: 0 written_bytes: 0 result_rows: 0 result_bytes: 0 memory_usage: 7824 current_database: default query: CREATE DATABASE db0 formatted_query: normalized_query_hash: 7820917191074023511 -- 7.82 quintillion query_kind: Create databases: ['db0'] tables: [] columns: [] partitions: [] projections: [] views: [] exception_code: 170 exception: Code: 170. DB::Exception: Bad get: has Null, requested Int64: While executing DDLOnClusterQueryStatus. (BAD_GET) (version 25.1.1.19134 (official build)) stack_trace: 0. ./build_docker/./src/Common/Exception.cpp:107: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000da5e53b 1. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x00000000088aca4c 2. DB::Exception::Exception<std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>>(int, FormatStringHelperImpl<std::type_identity<std::basic_string_view<char, std::char_traits<char>>>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char>>>::type>, std::basic_string_view<char, std::char_traits<char>>&&, std::basic_string_view<char, std::char_traits<char>>&&) @ 0x00000000088bae8b 3. auto& DB::Field::safeGet<long>() & @ 0x0000000008a3c748 4. ./src/Core/Field.h:484: DB::ColumnVector<long>::insert(DB::Field const&) @ 0x0000000012e44c0f 5. ./build_docker/./src/Interpreters/DDLOnClusterQueryStatusSource.cpp:53: DB::DDLOnClusterQueryStatusSource::generateChunkWithUnfinishedHosts() const @ 0x0000000012a40214 6. ./build_docker/./src/Interpreters/DDLOnClusterQueryStatusSource.cpp:104: DB::DDLOnClusterQueryStatusSource::handleTimeoutExceeded() @ 0x0000000012a41640 7. ./build_docker/./src/Interpreters/DDLOnClusterQueryStatusSource.cpp:109: DB::DDLOnClusterQueryStatusSource::stopWaitingOfflineHosts() @ 0x0000000012a41be9 8. ./build_docker/./src/Interpreters/DistributedQueryStatusSource.cpp:182: DB::DistributedQueryStatusSource::generate() @ 0x0000000011feb3bf 9. ./build_docker/./src/Processors/ISource.cpp:139: DB::ISource::tryGenerate() @ 0x0000000014148f5b 10. ./build_docker/./src/Processors/ISource.cpp:108: DB::ISource::work() @ 0x0000000014148c47 11. ./build_docker/./src/Processors/Executors/ExecutionThreadContext.cpp:49: DB::ExecutionThreadContext::executeTask() @ 0x0000000014164fc7 12. ./build_docker/./src/Processors/Executors/PipelineExecutor.cpp:290: DB::PipelineExecutor::executeStepImpl(unsigned long, std::atomic<bool>*) @ 0x00000000141577e5`. [#73876](https://github.com/ClickHouse/ClickHouse/pull/73876) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige les échecs occasionnels de comparaison des types `map()` dus à la possibilité de créer un `Map` sans nommage explicite (`keys`,`values`) de son tuple imbriqué. [#73878](https://github.com/ClickHouse/ClickHouse/pull/73878) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Ignore les window functions lors de la résolution de la clause GROUP BY ALL. Corrige [#73501](https://github.com/ClickHouse/ClickHouse/issues/73501). [#73916](https://github.com/ClickHouse/ClickHouse/pull/73916) ([Dmitry Novik](https://github.com/novikd)).
* Propage correctement les paramètres du format Native pour la communication client-serveur. [#73924](https://github.com/ClickHouse/ClickHouse/pull/73924) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige les privilèges implicites (ils fonctionnaient auparavant comme des jokers). [#73932](https://github.com/ClickHouse/ClickHouse/pull/73932) ([Azat Khuzhin](https://github.com/azat)).
* Corrige une utilisation élevée de la mémoire lors de la création de Maps imbriquées. [#73982](https://github.com/ClickHouse/ClickHouse/pull/73982) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige l’analyse de JSON imbriqués avec des clés vides. [#73993](https://github.com/ClickHouse/ClickHouse/pull/73993) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction : un alias peut ne pas être ajouté à la projection s’il est référencé par un autre alias et sélectionné dans l’ordre inverse. [#74033](https://github.com/ClickHouse/ClickHouse/pull/74033) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Un disk utilisant les metadata plain\_rewritable peut être partagé entre plusieurs instances de server. Il est normal qu’une instance lise un objet de metadata pendant qu’une autre le modifie. Les erreurs « objet introuvable » sont ignorées lors de l’initialisation de plain\_rewritable avec le stockage Azure, comme c’est déjà le cas pour S3. [#74059](https://github.com/ClickHouse/ClickHouse/pull/74059) ([Julia Kartseva](https://github.com/jkartseva)).
* Corrige le comportement de `any` et `anyLast` avec les types enum et une table vide. [#74061](https://github.com/ClickHouse/ClickHouse/pull/74061) ([Joanna Hulboj](https://github.com/jh0x)).
* Corrige le cas où l’utilisateur spécifie des arguments nommés dans le Kafka table engine. [#74064](https://github.com/ClickHouse/ClickHouse/pull/74064) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige la modification des paramètres de Storage `S3Queue` du préfixe "s3queue\_" vers l’absence de préfixe, et inversement. [#74075](https://github.com/ClickHouse/ClickHouse/pull/74075) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ajoute le paramètre `allow_push_predicate_ast_for_distributed_subqueries`. Cela ajoute le push-down de prédicats basé sur l’AST pour les distributed queries avec l’analyseur. Il s’agit d’une solution temporaire utilisée en attendant la prise en charge des distributed queries avec sérialisation du query plan. Clôt [#66878](https://github.com/ClickHouse/ClickHouse/issues/66878) [#69472](https://github.com/ClickHouse/ClickHouse/issues/69472) [#65638](https://github.com/ClickHouse/ClickHouse/issues/65638) [#68030](https://github.com/ClickHouse/ClickHouse/issues/68030) [#73718](https://github.com/ClickHouse/ClickHouse/issues/73718). [#74085](https://github.com/ClickHouse/ClickHouse/pull/74085) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige un problème où, après [#73095](https://github.com/ClickHouse/ClickHouse/issues/73095), un port peut être présent dans le champ forwarded\_for, ce qui empêche la résolution du host name lorsque le port est inclus. [#74116](https://github.com/ClickHouse/ClickHouse/pull/74116) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Corrige le formatage incorrect de `ALTER TABLE (DROP STATISTICS ...) (DROP STATISTICS ...)`. [#74126](https://github.com/ClickHouse/ClickHouse/pull/74126) ([Han Fei](https://github.com/hanfei1991)).
* Correction du problème [#66112](https://github.com/ClickHouse/ClickHouse/issues/66112). [#74128](https://github.com/ClickHouse/ClickHouse/pull/74128) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Il n'est plus possible d'utiliser `Loop` comme moteur de table dans `CREATE TABLE`. Cette combinaison provoquait auparavant des segfaults. [#74137](https://github.com/ClickHouse/ClickHouse/pull/74137) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Correction d'un problème de sécurité afin d'empêcher l'injection SQL dans les fonctions de table postgresql et sqlite. [#74144](https://github.com/ClickHouse/ClickHouse/pull/74144) ([Pablo Marcos](https://github.com/pamarcos)).
* Correction d'un crash lors de la lecture d'une sous-colonne depuis une table compressée du moteur Memory. Corrige [#74009](https://github.com/ClickHouse/ClickHouse/issues/74009). [#74161](https://github.com/ClickHouse/ClickHouse/pull/74161) ([Nikita Taranov](https://github.com/nickitat)).
* Correction d'une boucle infinie se produisant avec des requêtes sur system.detached\_tables. [#74190](https://github.com/ClickHouse/ClickHouse/pull/74190) ([Konstantin Morozov](https://github.com/k-morozov)).
* Correction d'une erreur logique dans s3queue lors du marquage d'un fichier comme Failed. [#74216](https://github.com/ClickHouse/ClickHouse/pull/74216) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Vérification des types non pris en charge pour certains stockages. [#74218](https://github.com/ClickHouse/ClickHouse/pull/74218) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction d'un crash avec la requête `INSERT INTO SELECT` via l'interface PostgreSQL sur macOS (problème [#72938](https://github.com/ClickHouse/ClickHouse/issues/72938)). [#74231](https://github.com/ClickHouse/ClickHouse/pull/74231) ([Artem Yurov](https://github.com/ArtemYurov)).
* Correction des paramètres de copie native (`allow_s3_native_copy`/`allow_azure_native_copy`) pour `RESTORE` à partir d'une sauvegarde de base. [#74286](https://github.com/ClickHouse/ClickHouse/pull/74286) ([Azat Khuzhin](https://github.com/azat)).
* Correction du problème lorsque le nombre de tables détachées dans la base de données est un multiple de max\_block\_size. [#74289](https://github.com/ClickHouse/ClickHouse/pull/74289) ([Konstantin Morozov](https://github.com/k-morozov)).
* Correction de la copie via ObjectStorage (c.-à-d. S3) lorsque les identifiants de la source et de la destination diffèrent. [#74331](https://github.com/ClickHouse/ClickHouse/pull/74331) ([Azat Khuzhin](https://github.com/azat)).
* Correction de max\_log\_ptr non initialisé dans la base de données Replicated. [#74336](https://github.com/ClickHouse/ClickHouse/pull/74336) ([Konstantin Morozov](https://github.com/k-morozov)).
* Correction de la détection de "use the Rewrite method in the JSON API" pour la copie native sur GCS. [#74338](https://github.com/ClickHouse/ClickHouse/pull/74338) ([Azat Khuzhin](https://github.com/azat)).
* Correction d'un crash lors de l'insertion d'un intervalle (problème [#74299](https://github.com/ClickHouse/ClickHouse/issues/74299)). [#74478](https://github.com/ClickHouse/ClickHouse/pull/74478) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Correction d'une analyse incorrecte des projections lorsque `count(nullable)` est utilisé dans des projections agrégées. Cela corrige [#74495](https://github.com/ClickHouse/ClickHouse/issues/74495). Cette PR ajoute également quelques logs autour de l'analyse des projections afin de clarifier pourquoi une projection est utilisée, ou non. [#74498](https://github.com/ClickHouse/ClickHouse/pull/74498) ([Amos Bird](https://github.com/amosbird)).
* Correction d'un calcul incorrect de `BackgroundMergesAndMutationsPoolSize` (il était 2x supérieur à la valeur réelle). [#74509](https://github.com/ClickHouse/ClickHouse/pull/74509) ([alesapin](https://github.com/alesapin)).
* Corrige le bug de fuite des watches de Keeper lors de l’activation de Cluster Discovery. [#74521](https://github.com/ClickHouse/ClickHouse/pull/74521) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Corrige le formatage des littéraux JSON constants. Auparavant, cela pouvait entraîner des erreurs de syntaxe lors de l’envoi de la requête à un autre serveur. [#74533](https://github.com/ClickHouse/ClickHouse/pull/74533) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un problème d’alignement mémoire signalé par UBSan [#74512](https://github.com/ClickHouse/ClickHouse/issues/74512). [#74534](https://github.com/ClickHouse/ClickHouse/pull/74534) ([Arthur Passos](https://github.com/arthurpassos)).
* Corrige le nettoyage concurrent de KeeperMap lors de la création de table. [#74568](https://github.com/ClickHouse/ClickHouse/pull/74568) ([Antonio Andelic](https://github.com/antonio2368)).
* Ne supprime pas les colonnes de projection inutilisées dans les sous-requêtes en présence de `EXCEPT` ou `INTERSECT` afin de préserver le résultat correct de la requête. Corrige [#73930](https://github.com/ClickHouse/ClickHouse/issues/73930). Corrige [#66465](https://github.com/ClickHouse/ClickHouse/issues/66465). [#74577](https://github.com/ClickHouse/ClickHouse/pull/74577) ([Dmitry Novik](https://github.com/novikd)).
* Corrige la requête CREATE défectueuse lors de l’utilisation d’expressions de partition constantes avec les projections implicites activées. Cela corrige [#74596](https://github.com/ClickHouse/ClickHouse/issues/74596) . [#74634](https://github.com/ClickHouse/ClickHouse/pull/74634) ([Amos Bird](https://github.com/amosbird)).
* Corrige les requêtes `INSERT SELECT` entre des tables avec des colonnes `Tuple` et la sérialisation sparse activée. [#74698](https://github.com/ClickHouse/ClickHouse/pull/74698) ([Anton Popov](https://github.com/CurtizJ)).
* La fonction `right` fonctionne incorrectement avec un offset négatif constant. [#74701](https://github.com/ClickHouse/ClickHouse/pull/74701) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige l’insertion de données compressées avec gzip, qui échoue parfois en raison d’une décompression défectueuse côté client. [#74707](https://github.com/ClickHouse/ClickHouse/pull/74707) ([siyuan](https://github.com/linkwk7)).
* Évite de laisser la connexion dans un état dégradé après la fin d’un INSERT avec exception. [#74740](https://github.com/ClickHouse/ClickHouse/pull/74740) ([Azat Khuzhin](https://github.com/azat)).
* Évite de réutiliser des connexions laissées dans un état intermédiaire. [#74749](https://github.com/ClickHouse/ClickHouse/pull/74749) ([Azat Khuzhin](https://github.com/azat)).
* Les révocations partielles avec des caractères génériques dans les grants pouvaient supprimer plus de privilèges que prévu. Corrige [#74263](https://github.com/ClickHouse/ClickHouse/issues/74263). [#74751](https://github.com/ClickHouse/ClickHouse/pull/74751) ([pufit](https://github.com/pufit)).
* Corrige un crash pendant l’analyse de la déclaration du type JSON lorsque le nom du type n’est pas en majuscules. [#74784](https://github.com/ClickHouse/ClickHouse/pull/74784) ([Pavel Kruglov](https://github.com/Avogar)).
* Correctif Keeper : corrige la lecture des entrées de journal depuis le disque. [#74785](https://github.com/ClickHouse/ClickHouse/pull/74785) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige la vérification des grants pour SYSTEM REFRESH/START/STOP VIEW : il n'est désormais plus nécessaire d’avoir ce grant sur `*.*` pour exécuter une requête sur une vue spécifique, seul le grant sur cette vue est requis. [#74789](https://github.com/ClickHouse/ClickHouse/pull/74789) ([Alexander Tokmakov](https://github.com/tavplubix)).
* La fonction `hasColumnInTable` ne prend pas en compte les colonnes alias. Corrige cela pour qu’elle fonctionne également avec les colonnes alias. [#74841](https://github.com/ClickHouse/ClickHouse/pull/74841) ([Bharat Nallan](https://github.com/bharatnc)).
* Keeper : correction de `logical_error` lorsque la connexion avait été interrompue avant d’être établie. [#74844](https://github.com/ClickHouse/ClickHouse/pull/74844) ([Michael Kolupaev](https://github.com/al13n321)).
* Correction d’un problème empêchant le serveur de démarrer lorsqu’une table utilisait `AzureBlobStorage`. Les tables sont désormais chargées sans aucune requête vers Azure. [#74880](https://github.com/ClickHouse/ClickHouse/pull/74880) ([Alexey Katsman](https://github.com/alexkats)).
* Correction de l’absence des champs `used_privileges` et `missing_privileges` dans `query_log` pour les opérations BACKUP et RESTORE. [#74887](https://github.com/ClickHouse/ClickHouse/pull/74887) ([Alexey Katsman](https://github.com/alexkats)).
* Correction de l’erreur FILE\_DOESNT\_EXIST survenant pendant la fusion de parties de données pour une table avec une colonne vide dans Azure Blob Storage. [#74892](https://github.com/ClickHouse/ClickHouse/pull/74892) ([Julia Kartseva](https://github.com/jkartseva)).
* Correction du nom de colonne de projection lors de la jointure de tables temporaires, corrige [#68872](https://github.com/ClickHouse/ClickHouse/issues/68872). [#74897](https://github.com/ClickHouse/ClickHouse/pull/74897) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Actualisation du ticket krb HDFS en cas d’erreur sasl lors d’une requête select HDFS. [#74930](https://github.com/ClickHouse/ClickHouse/pull/74930) ([inv2004](https://github.com/inv2004)).
* Correction des requêtes vers la base de données Replicated dans `startup_scripts`. [#74942](https://github.com/ClickHouse/ClickHouse/pull/74942) ([Azat Khuzhin](https://github.com/azat)).
* Correction de problèmes avec les types d’expressions aliasés dans la clause JOIN ON lorsqu’une comparaison null-safe est utilisée. [#74970](https://github.com/ClickHouse/ClickHouse/pull/74970) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Rétablit l’état d’une part de deleting à outdated lorsqu’une opération de suppression échoue. [#74985](https://github.com/ClickHouse/ClickHouse/pull/74985) ([Sema Checherinda](https://github.com/CheSema)).
* Dans les versions précédentes, lorsqu’il y avait une sous-requête scalaire, nous avons commencé à écrire la progression (accumulée lors du traitement de la sous-requête) pendant l’initialisation du format de données, c’est-à-dire avant l’écriture des en-têtes HTTP. Cela entraînait la perte des en-têtes HTTP, tels que X-ClickHouse-QueryId et X-ClickHouse-Format, ainsi que de Content-Type. [#74991](https://github.com/ClickHouse/ClickHouse/pull/74991) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Correction des requêtes `CREATE TABLE AS...` pour `database_replicated_allow_replicated_engine_arguments=0`. [#75000](https://github.com/ClickHouse/ClickHouse/pull/75000) ([Bharat Nallan](https://github.com/bharatnc)).
* Correction d’un état invalide de la connexion dans le client après des exceptions INSERT. [#75030](https://github.com/ClickHouse/ClickHouse/pull/75030) ([Azat Khuzhin](https://github.com/azat)).
* Correction d’un plantage dû à une exception non interceptée dans la réplication PSQL. [#75062](https://github.com/ClickHouse/ClickHouse/pull/75062) ([Azat Khuzhin](https://github.com/azat)).
* Sasl peut échouer sur n’importe quel appel rpc ; ce correctif permet de relancer l’appel si le ticket krb5 a expiré. [#75063](https://github.com/ClickHouse/ClickHouse/pull/75063) ([inv2004](https://github.com/inv2004)).
* Correction de l’utilisation des index (primaires et secondaires) pour les colonnes `Array`, `Map` et `Nullable(..)` lorsque le paramètre `optimize_function_to_subcolumns` est activé. Auparavant, les index de ces colonnes pouvaient être ignorés. [#75081](https://github.com/ClickHouse/ClickHouse/pull/75081) ([Anton Popov](https://github.com/CurtizJ)).
* Désactive `flatten_nested` lors de la création de vues matérialisées avec des tables internes, car il n’est pas possible d’utiliser de telles colonnes aplaties. [#75085](https://github.com/ClickHouse/ClickHouse/pull/75085) ([Christoph Wurm](https://github.com/cwurm)).
* Correction d’un problème où certaines adresses IPv6 (comme ::ffff:1.1.1.1) dans le champ forwarded\_for étaient mal interprétées, entraînant la déconnexion du client avec une exception. [#75133](https://github.com/ClickHouse/ClickHouse/pull/75133) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Correction de la gestion des JOIN null-safe pour le type de données LowCardinality Nullable. Auparavant, les JOIN ON avec une comparaison null-safe, comme `IS NOT DISTINCT FROM`, `<=>` , `a IS NULL AND b IS NULL OR a == b`, ne fonctionnaient pas correctement avec les colonnes LowCardinality. [#75143](https://github.com/ClickHouse/ClickHouse/pull/75143) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction des requêtes avec interpolation inutilisée dans le nouvel analyseur. [#75173](https://github.com/ClickHouse/ClickHouse/pull/75173) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Correction d’un bug de crash des CTE avec Insert. [#75188](https://github.com/ClickHouse/ClickHouse/pull/75188) ([Shichao Jin](https://github.com/jsc0218)).
* Correction de Keeper : évite l’écriture dans des changelogs corrompus lors du rollback des logs. [#75197](https://github.com/ClickHouse/ClickHouse/pull/75197) ([Antonio Andelic](https://github.com/antonio2368)).
* Utilisation de `BFloat16` comme supertype lorsque cela est approprié. Ceci clôture : [#74404](https://github.com/ClickHouse/ClickHouse/issues/74404). [#75236](https://github.com/ClickHouse/ClickHouse/pull/75236) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Correction de valeurs par défaut inattendues dans le résultat d’un JOIN avec any\_join\_distinct\_right\_table\_keys et OR dans JOIN ON. [#75262](https://github.com/ClickHouse/ClickHouse/pull/75262) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Masquage des informations d’identification du moteur de table azureblobstorage. [#75319](https://github.com/ClickHouse/ClickHouse/pull/75319) ([Garrett Thomas](https://github.com/garrettthomaskth)).
* Correction du comportement dans les cas où ClickHouse pouvait, à tort, effectuer un pushdown de filtre vers une base de données externe comme PostgreSQL, MySQL ou SQLite. Ceci clôture : [#71423](https://github.com/ClickHouse/ClickHouse/issues/71423). [#75320](https://github.com/ClickHouse/ClickHouse/pull/75320) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Correction d’un crash dans le cache de schéma Protobuf pouvant survenir lors d’une sortie au format Protobuf et de la requête parallèle `SYSTEM DROP FORMAT SCHEMA CACHE`. [#75357](https://github.com/ClickHouse/ClickHouse/pull/75357) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction d’une possible erreur logique ou d’un problème de mémoire non initialisée lorsqu’un filtre de `HAVING` est poussé vers le bas avec des répliques parallèles. [#75363](https://github.com/ClickHouse/ClickHouse/pull/75363) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Masquage des informations sensibles pour les table functions `icebergS3`, `icebergAzure` et les moteurs de table. [#75378](https://github.com/ClickHouse/ClickHouse/pull/75378) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La fonction `TRIM` avec des caractères de trim vides calculés est désormais correctement gérée. Exemple : `SELECT TRIM(LEADING concat('') FROM 'foo')` (issue [#69922](https://github.com/ClickHouse/ClickHouse/issues/69922)). [#75399](https://github.com/ClickHouse/ClickHouse/pull/75399) ([Manish Gill](https://github.com/mgill25)).
* Correction d’une situation de concurrence dans IOutputFormat. [#75448](https://github.com/ClickHouse/ClickHouse/pull/75448) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction d’une possible erreur `Elements ... and ... of Nested data structure ... (Array columns) have different array sizes` lorsque des sous-colonnes JSON de type Array sont utilisées dans un JOIN sur des Distributed tables. [#75512](https://github.com/ClickHouse/ClickHouse/pull/75512) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un calcul invalide de la taille du tampon de résultats. Résout [#70031](https://github.com/ClickHouse/ClickHouse/issues/70031). [#75548](https://github.com/ClickHouse/ClickHouse/pull/75548) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige l’interaction entre allow\_feature\_tier et le paramètre de compatibilité MergeTree. [#75635](https://github.com/ClickHouse/ClickHouse/pull/75635) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige la valeur incorrecte de processed\_rows dans system.s3queue\_log lorsqu’un fichier a fait l’objet d’une nouvelle tentative. [#75666](https://github.com/ClickHouse/ClickHouse/pull/75666) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Respecte `materialized_views_ignore_errors` lorsqu’une vue matérialisée écrit dans un moteur URL et qu’un problème de connectivité survient. [#75679](https://github.com/ClickHouse/ClickHouse/pull/75679) ([Christoph Wurm](https://github.com/cwurm)).
* Corrige de rares plantages lors de la lecture d’une table `MergeTree` après plusieurs requêtes `RENAME` asynchrones (avec `alter_sync = 0`) entre des colonnes de types différents. [#75693](https://github.com/ClickHouse/ClickHouse/pull/75693) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige l’erreur `Block structure mismatch in QueryPipeline stream` pour certaines requêtes avec `UNION ALL`. [#75715](https://github.com/ClickHouse/ClickHouse/pull/75715) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Reconstruit la projection lors d’un alter modify de sa colonne de PK. Auparavant, cela pouvait entraîner des erreurs `CANNOT_READ_ALL_DATA` lors de selects après un alter modify de la colonne utilisée dans la PK de la projection. [#75720](https://github.com/ClickHouse/ClickHouse/pull/75720) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige le résultat incorrect de `ARRAY JOIN` pour les sous-requêtes scalaires (avec l’analyseur). [#75732](https://github.com/ClickHouse/ClickHouse/pull/75732) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige un déréférencement de pointeur nul dans `DistinctSortedStreamTransform`. [#75734](https://github.com/ClickHouse/ClickHouse/pull/75734) ([Nikita Taranov](https://github.com/nickitat)).
* Corrige le comportement de `allow_suspicious_ttl_expressions`. [#75771](https://github.com/ClickHouse/ClickHouse/pull/75771) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Corrige une lecture de mémoire non initialisée dans la fonction `translate`. Résout [#75592](https://github.com/ClickHouse/ClickHouse/issues/75592). [#75794](https://github.com/ClickHouse/ClickHouse/pull/75794) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Propage les paramètres de format au formatage JSON sous forme de chaîne dans le format Native. [#75832](https://github.com/ClickHouse/ClickHouse/pull/75832) ([Pavel Kruglov](https://github.com/Avogar)).
* Consigne dans l’historique des modifications des paramètres l’activation par défaut de parallel hash comme algorithme de jointure dans la v24.12. Cela signifie que ClickHouse continuera à effectuer les jointures avec un hash non parallèle si un niveau de compatibilité antérieur à la v24.12 est configuré. [#75870](https://github.com/ClickHouse/ClickHouse/pull/75870) ([Robert Schulze](https://github.com/rschu1ze)).
* Corrige un bug qui empêchait de copier dans une nouvelle table des tables avec des index min-max ajoutés implicitement (problème [#75677](https://github.com/ClickHouse/ClickHouse/issues/75677)). [#75877](https://github.com/ClickHouse/ClickHouse/pull/75877) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* `clickhouse-library-bridge` permet d’ouvrir des bibliothèques arbitraires depuis le système de fichiers, ce qui signifie qu’il ne peut être exécuté en toute sécurité que dans un environnement isolé. Pour éviter une vulnérabilité lorsqu’il est exécuté à proximité de `clickhouse-server`, nous limiterons les chemins des bibliothèques à un emplacement défini dans la configuration. Cette vulnérabilité a été découverte dans le cadre du [programme ClickHouse Bug Bounty](https://github.com/ClickHouse/ClickHouse/issues/38986) par **Arseniy Dugin**. [#75954](https://github.com/ClickHouse/ClickHouse/pull/75954) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Nous avons, par inadvertance, utilisé la sérialisation JSON pour certaines métadonnées, ce qui était une erreur, car JSON ne prend pas en charge les données binaires dans les littéraux de chaîne, y compris les octets nuls. Les requêtes SQL peuvent contenir des données binaires et de l’UTF-8 invalide ; nous devons donc également les prendre en charge dans nos fichiers de métadonnées. Dans le même temps, `JSONEachRow` de ClickHouse et des formats similaires contournent ce problème en s’écartant de la norme JSON afin de garantir un aller-retour parfait pour les données binaires. Voir les motivations ici : [https://github.com/ClickHouse/ClickHouse/pull/73668#issuecomment-2560501790](https://github.com/ClickHouse/ClickHouse/pull/73668#issuecomment-2560501790). La solution consiste à rendre la bibliothèque `Poco::JSON` cohérente avec la sérialisation au format JSON dans ClickHouse. Cela clôt [#73668](https://github.com/ClickHouse/ClickHouse/issues/73668). [#75963](https://github.com/ClickHouse/ClickHouse/pull/75963) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Correction de `Part <...> does not contain in snapshot of previous virtual parts. (PART_IS_TEMPORARILY_LOCKED)` pendant DETACH PART. [#76039](https://github.com/ClickHouse/ClickHouse/pull/76039) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Correction de la vérification des limites de commit dans le moteur de stockage `S3Queue`. [#76104](https://github.com/ClickHouse/ClickHouse/pull/76104) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction de l’attachement des tables MergeTree avec des index automatiques (`add_minmax_index_for_numeric_columns`/`add_minmax_index_for_string_columns`). [#76139](https://github.com/ClickHouse/ClickHouse/pull/76139) ([Azat Khuzhin](https://github.com/azat)).
* Correction d’un problème où les stack traces des threads parents d’un job (paramètre `enable_job_stack_trace`) n’étaient pas affichées. Correction également d’un problème où le paramètre `enable_job_stack_trace` n’était pas correctement propagé aux threads, de sorte que le contenu des stack traces ne respectait pas toujours ce paramètre. [#76191](https://github.com/ClickHouse/ClickHouse/pull/76191) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Correction de `reinterpretAs` avec `FixedString` sur les architectures big-endian. [#76253](https://github.com/ClickHouse/ClickHouse/pull/76253) ([Azat Khuzhin](https://github.com/azat)).
* Correction de divers bugs dus à une condition de concurrence entre les UUID et les noms de tables (par exemple, cela corrige la concurrence entre `RENAME` et `RESTART REPLICA` : en cas de `RENAME` concurrent avec `SYSTEM RESTART REPLICA`, vous pouvez redémarrer la mauvaise réplique et/ou laisser l’une des tables dans l’état `Table X is being restarted`). [#76308](https://github.com/ClickHouse/ClickHouse/pull/76308) ([Azat Khuzhin](https://github.com/azat)).
* Suppression de l’allocation dans le gestionnaire de signaux. [#76446](https://github.com/ClickHouse/ClickHouse/pull/76446) ([Nikita Taranov](https://github.com/nickitat)).
* Correction de la gestion du redimensionnement dynamique du cache du système de fichiers, qui provoquait des erreurs inattendues lors de l’éviction. [#76466](https://github.com/ClickHouse/ClickHouse/pull/76466) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction de l’initialisation de `used_flag` dans le hash parallèle. Cela pouvait provoquer un crash du serveur. [#76580](https://github.com/ClickHouse/ClickHouse/pull/76580) ([Nikita Taranov](https://github.com/nickitat)).
* Correction d’une erreur logique lors de l’appel de la fonction `defaultProfiles()` dans une projection. [#76627](https://github.com/ClickHouse/ClickHouse/pull/76627) ([pufit](https://github.com/pufit)).
* Ne demandez pas d’authentification Basic interactive dans le navigateur via la Web UI. Clôt [#76319](https://github.com/ClickHouse/ClickHouse/issues/76319). [#76637](https://github.com/ClickHouse/ClickHouse/pull/76637) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige l’exception THERE\_IS\_NO\_COLUMN lors de la sélection d’un littéral booléen depuis des tables Distributed. [#76656](https://github.com/ClickHouse/ClickHouse/pull/76656) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Le sous-chemin à l’intérieur du répertoire de la table est désormais choisi de manière plus pertinente. [#76681](https://github.com/ClickHouse/ClickHouse/pull/76681) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige une erreur `Not found column in block` après la modification d’une table avec une sous-colonne dans la PK. Après [https://github.com/ClickHouse/ClickHouse/pull/72644](https://github.com/ClickHouse/ClickHouse/pull/72644), nécessite [https://github.com/ClickHouse/ClickHouse/pull/74403](https://github.com/ClickHouse/ClickHouse/pull/74403). [#76686](https://github.com/ClickHouse/ClickHouse/pull/76686) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Ajoute des tests de performance pour les courts-circuits sur les valeurs nulles et corrige des bugs. [#76708](https://github.com/ClickHouse/ClickHouse/pull/76708) ([李扬](https://github.com/taiyang-li)).
* Vide les tampons d’écriture de sortie avant leur finalisation. Corrige `LOGICAL_ERROR` générée lors de la finalisation de certains formats de sortie, par exemple `JSONEachRowWithProgressRowOutputFormat`. [#76726](https://github.com/ClickHouse/ClickHouse/pull/76726) ([Antonio Andelic](https://github.com/antonio2368)).
* Ajout de la prise en charge des UUID binaires de MongoDB ([#74452](https://github.com/ClickHouse/ClickHouse/issues/74452)) - Correction du pushdown de WHERE vers MongoDB lors de l’utilisation de la table function ([#72210](https://github.com/ClickHouse/ClickHouse/issues/72210)) - Modification du type mapping MongoDB - ClickHouse afin que l’UUID binaire de MongoDB ne puisse être analysé que comme UUID ClickHouse. Cela devrait éviter toute ambiguïté et surprise à l’avenir. - Correction du mapping OID, tout en préservant la backward compatibility. [#76762](https://github.com/ClickHouse/ClickHouse/pull/76762) ([Kirill Nikiforov](https://github.com/allmazz)).
* Corrige la gestion des exceptions lors de la désérialisation en parallèle des préfixes des JSON subcolumns. [#76809](https://github.com/ClickHouse/ClickHouse/pull/76809) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige le comportement de la fonction lgamma pour les entiers négatifs. [#76840](https://github.com/ClickHouse/ClickHouse/pull/76840) ([Ilya Kataev](https://github.com/IlyaKataev)).
* Corrige l’analyse des clés inversées pour les clés primaires définies explicitement. Semblable à [#76654](https://github.com/ClickHouse/ClickHouse/issues/76654). [#76846](https://github.com/ClickHouse/ClickHouse/pull/76846) ([Amos Bird](https://github.com/amosbird)).
* Corrige l’affichage Pretty des valeurs Bool au format JSON. [#76905](https://github.com/ClickHouse/ClickHouse/pull/76905) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un crash possible dû à un mauvais rollback d’une JSON column en cas d’erreur pendant les async inserts. [#76908](https://github.com/ClickHouse/ClickHouse/pull/76908) ([Pavel Kruglov](https://github.com/Avogar)).
* Auparavant, `multi_if` pouvait renvoyer différents types de colonnes pendant la planification et l’exécution principale. Cela entraînait la génération d’un code au comportement indéfini du point de vue du C++. [#76914](https://github.com/ClickHouse/ClickHouse/pull/76914) ([Nikita Taranov](https://github.com/nickitat)).
* Corrige une sérialisation incorrecte de clés Nullable constantes dans MergeTree. Cela corrige [#76939](https://github.com/ClickHouse/ClickHouse/issues/76939). [#76985](https://github.com/ClickHouse/ClickHouse/pull/76985) ([Amos Bird](https://github.com/amosbird)).
* Corrige le tri des valeurs `BFloat16`. Cela clôt [#75487](https://github.com/ClickHouse/ClickHouse/issues/75487). Cela clôt [#75669](https://github.com/ClickHouse/ClickHouse/issues/75669). [#77000](https://github.com/ClickHouse/ClickHouse/pull/77000) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige un bug avec JSON et une sous-colonne Variant en ajoutant une vérification pour ignorer les sous-colonnes ephemeral lors du contrôle de cohérence des parts. [#72187](https://github.com/ClickHouse/ClickHouse/issues/72187). [#77034](https://github.com/ClickHouse/ClickHouse/pull/77034) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Corrige un crash lors de l’analyse d’un template au format Values en cas d’incompatibilité de types. [#77071](https://github.com/ClickHouse/ClickHouse/pull/77071) ([Pavel Kruglov](https://github.com/Avogar)).
* N’autorise pas la création d’une table EmbeddedRocksDB avec une sous-colonne dans une clé primaire. Auparavant, une telle table pouvait être créée, mais les requêtes `SELECT` échouaient. [#77074](https://github.com/ClickHouse/ClickHouse/pull/77074) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige une comparaison invalide dans les requêtes distribuées, car la descente de prédicats vers les nœuds distants ne respecte pas les types littéraux. [#77093](https://github.com/ClickHouse/ClickHouse/pull/77093) ([Duc Canh Le](https://github.com/canhld94)).
* Corrige un crash lors de la création d’une table Kafka avec exception. [#77121](https://github.com/ClickHouse/ClickHouse/pull/77121) ([Pavel Kruglov](https://github.com/Avogar)).
* Prend en charge le nouveau JSON et les sous-colonnes dans les moteurs Kafka et RabbitMQ. [#77122](https://github.com/ClickHouse/ClickHouse/pull/77122) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige le désempilement de la pile des exceptions sur MacOS. [#77126](https://github.com/ClickHouse/ClickHouse/pull/77126) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige la lecture de la sous-colonne 'null' dans la fonction getSubcolumn. [#77163](https://github.com/ClickHouse/ClickHouse/pull/77163) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige les skip indexes non fonctionnels avec des expressions contenant des littéraux dans analyzer et supprime les transtypages triviaux lors de l’analyse des indexes. [#77229](https://github.com/ClickHouse/ClickHouse/pull/77229) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un index bloom filter avec Array et des fonctions non prises en charge. [#77271](https://github.com/ClickHouse/ClickHouse/pull/77271) ([Pavel Kruglov](https://github.com/Avogar)).
* La restriction sur le nombre de tables ne doit être vérifiée que lors de la requête CREATE initiale. [#77274](https://github.com/ClickHouse/ClickHouse/pull/77274) ([Nikolay Degterinsky](https://github.com/evillique)).
* `SELECT toBFloat16(-0.0) == toBFloat16(0.0)` renvoie désormais correctement `true` (au lieu de `false` auparavant). Cela rend le comportement cohérent avec `Float32` et `Float64`. [#77290](https://github.com/ClickHouse/ClickHouse/pull/77290) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Corrige une possible référence incorrecte à la variable non initialisée key\_index, susceptible d’entraîner un crash dans les builds de débogage (cette référence non initialisée ne devrait pas causer de problèmes dans les builds de release, car le code qui suit lèvera probablement des erreurs.) ### entrée de documentation pour les changements visibles par l’utilisateur. [#77305](https://github.com/ClickHouse/ClickHouse/pull/77305) ([wxybear](https://github.com/wxybear)).
* Annulé. [#77307](https://github.com/ClickHouse/ClickHouse/pull/77307) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige le nom de partition pour une valeur Bool. Cela a été cassé dans [https://github.com/ClickHouse/ClickHouse/pull/74533](https://github.com/ClickHouse/ClickHouse/pull/74533). [#77319](https://github.com/ClickHouse/ClickHouse/pull/77319) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction de la comparaison entre des tuples contenant des éléments Nullable et des chaînes. Par exemple, avant ce changement, la comparaison entre un Tuple `(1, null)` et une String `'(1,null)'` produisait une erreur. Un autre exemple est la comparaison entre un Tuple `(1, a)`, où `a` est une colonne Nullable, et une String `'(1, 2)'`. Ce changement corrige ces problèmes. [#77323](https://github.com/ClickHouse/ClickHouse/pull/77323) ([Alexey Katsman](https://github.com/alexkats)).
* Correction d’un crash dans ObjectStorageQueueSource. Avait été introduit dans [https://github.com/ClickHouse/ClickHouse/pull/76358](https://github.com/ClickHouse/ClickHouse/pull/76358). [#77325](https://github.com/ClickHouse/ClickHouse/pull/77325) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction d’un bug où le query parameter `close_session` n’avait aucun effet, ce qui faisait que les sessions nommées n’étaient fermées qu’après `session_timeout`. [#77336](https://github.com/ClickHouse/ClickHouse/pull/77336) ([Alexey Katsman](https://github.com/alexkats)).
* Correction de `async_insert` avec `input()`. [#77340](https://github.com/ClickHouse/ClickHouse/pull/77340) ([Azat Khuzhin](https://github.com/azat)).
* Correction : `WITH FILL` peut échouer avec `NOT_FOUND_COLUMN_IN_BLOCK` lorsque le planificateur supprime la colonne de tri. Problème similaire lié à un DAG incohérent calculé pour l’expression `INTERPOLATE`. [#77343](https://github.com/ClickHouse/ClickHouse/pull/77343) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Annulé. [#77390](https://github.com/ClickHouse/ClickHouse/pull/77390) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction de la réception des messages depuis le serveur nats sans MV attachée. [#77392](https://github.com/ClickHouse/ClickHouse/pull/77392) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Correction d’une logical error lors de la lecture depuis un `FileLog` vide via la table function `merge`, corrige [#75575](https://github.com/ClickHouse/ClickHouse/issues/75575). [#77441](https://github.com/ClickHouse/ClickHouse/pull/77441) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction de plusieurs `LOGICAL_ERROR` liées à la définition d’un alias sur des nœuds AST invalides. [#77445](https://github.com/ClickHouse/ClickHouse/pull/77445) ([Raúl Marín](https://github.com/Algunenano)).
* Dans l’implémentation du filesystem cache, correction du traitement des erreurs pendant l’écriture d’un file segment. [#77471](https://github.com/ClickHouse/ClickHouse/pull/77471) ([Kseniia Sumarokova](https://github.com/kssenii)).
* DatabaseIceberg utilise désormais le bon fichier de metadata fourni par le catalog. Corrige [#75187](https://github.com/ClickHouse/ClickHouse/issues/75187). [#77486](https://github.com/ClickHouse/ClickHouse/pull/77486) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Utilisation des paramètres de format par défaut dans la serialization de Dynamic à partir d’un variant partagé. [#77572](https://github.com/ClickHouse/ClickHouse/pull/77572) ([Pavel Kruglov](https://github.com/Avogar)).
* Annulation de 'Avoid toAST() in execution of scalar subqueries'. [#77584](https://github.com/ClickHouse/ClickHouse/pull/77584) ([Raúl Marín](https://github.com/Algunenano)).
* Correction de la vérification de l’existence du data path de la table sur le disk local. [#77608](https://github.com/ClickHouse/ClickHouse/pull/77608) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Le query cache considère désormais les UDFs comme non deterministic. Par conséquent, les résultats des queries contenant des UDFs ne sont plus mis en cache. Auparavant, les utilisateurs pouvaient définir des UDFs non deterministic dont le résultat était mis en cache par erreur (issue [#77553](https://github.com/ClickHouse/ClickHouse/issues/77553)). [#77633](https://github.com/ClickHouse/ClickHouse/pull/77633) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Correction de l’envoi de valeurs constantes vers une cible distante pour certains types. [#77634](https://github.com/ClickHouse/ClickHouse/pull/77634) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction de `system.filesystem&#95;cache&#95;log`, qui ne fonctionnait qu’avec le paramètre `enable_filesystem_cache_log`. [#77650](https://github.com/ClickHouse/ClickHouse/pull/77650) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction d’une erreur logique lors de l’appel de la fonction `defaultRoles()` à l’intérieur d’une projection. Suite de [#76627](https://github.com/ClickHouse/ClickHouse/issues/76627). [#77667](https://github.com/ClickHouse/ClickHouse/pull/77667) ([pufit](https://github.com/pufit)).
* Correction d’un plantage dû à un contexte expiré dans StorageS3(Azure)Queue. [#77720](https://github.com/ClickHouse/ClickHouse/pull/77720) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Les deuxièmes arguments de type `Nullable` pour la fonction `arrayResize` sont désormais interdits. Auparavant, l’utilisation de `Nullable` comme deuxième argument pouvait provoquer divers problèmes, allant d’erreurs à des résultats incorrects. (issue [#48398](https://github.com/ClickHouse/ClickHouse/issues/48398)). [#77724](https://github.com/ClickHouse/ClickHouse/pull/77724) ([Manish Gill](https://github.com/mgill25)).
* Masquage des identifiants dans les moteurs de table RabbitMQ, Nats, Redis et AzureQueue. [#77755](https://github.com/ClickHouse/ClickHouse/pull/77755) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction d’un comportement indéfini lors de la comparaison de NaN dans ArgMin/ArgMax. [#77756](https://github.com/ClickHouse/ClickHouse/pull/77756) ([Raúl Marín](https://github.com/Algunenano)).
* Vérification régulière que les fusions et les mutations ont bien été annulées, même lorsque l’opération ne produit aucun bloc à écrire. [#77766](https://github.com/ClickHouse/ClickHouse/pull/77766) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Annulé. [#77843](https://github.com/ClickHouse/ClickHouse/pull/77843) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction d’un plantage possible lorsque l’erreur `NOT_FOUND_COLUMN_IN_BLOCK` se produit. [#77854](https://github.com/ClickHouse/ClickHouse/pull/77854) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction d’un plantage survenant dans `StorageSystemObjectStorageQueueSettings` lors du remplissage des données. [#77878](https://github.com/ClickHouse/ClickHouse/pull/77878) ([Bharat Nallan](https://github.com/bharatnc)).
* Désactivation de la recherche approximative pour l’historique sur le serveur SSH (car elle nécessite skim). [#78002](https://github.com/ClickHouse/ClickHouse/pull/78002) ([Azat Khuzhin](https://github.com/azat)).
* Correction d’un bug où une requête de recherche vectorielle sur une colonne non indexée renvoyait des résultats incorrects si une autre colonne vectorielle de la table avait un index de similarité vectorielle défini. (Issue [#77978](https://github.com/ClickHouse/ClickHouse/issues/77978)). [#78069](https://github.com/ClickHouse/ClickHouse/pull/78069) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Correction de l’invite `The requested output format {} is binary... Do you want to output it anyway? [y/N]`. [#78095](https://github.com/ClickHouse/ClickHouse/pull/78095) ([Azat Khuzhin](https://github.com/azat)).
* Correction d’un bug avec `toStartOfInterval` lorsque l’argument d’origine vaut zéro. [#78096](https://github.com/ClickHouse/ClickHouse/pull/78096) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Interdiction de spécifier un paramètre de requête `session_id` vide pour l’interface HTTP. [#78098](https://github.com/ClickHouse/ClickHouse/pull/78098) ([Alexey Katsman](https://github.com/alexkats)).
* Corrige l’écrasement des métadonnées dans Database Replicated, qui pouvait se produire à la suite d’une requête RENAME exécutée juste après une requête ALTER. [#78107](https://github.com/ClickHouse/ClickHouse/pull/78107) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrige un crash dans le moteur NATS. [#78108](https://github.com/ClickHouse/ClickHouse/pull/78108) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* N’essaie pas de créer un `history_file` dans un client SSH intégré. [#78112](https://github.com/ClickHouse/ClickHouse/pull/78112) ([Azat Khuzhin](https://github.com/azat)).
* Corrige system.detached\_tables, qui affichait des informations incorrectes après des requêtes RENAME DATABASE ou DROP TABLE. [#78126](https://github.com/ClickHouse/ClickHouse/pull/78126) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrige les vérifications liées à un trop grand nombre de tables avec Database Replicated après [https://github.com/ClickHouse/ClickHouse/pull/77274](https://github.com/ClickHouse/ClickHouse/pull/77274). Effectue également cette vérification avant de créer le stockage afin d’éviter la création de nœuds non comptabilisés dans ZooKeeper dans le cas de RMT ou KeeperMap. [#78127](https://github.com/ClickHouse/ClickHouse/pull/78127) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrige un crash possible dû à l’initialisation concurrente des métadonnées S3Queue. [#78131](https://github.com/ClickHouse/ClickHouse/pull/78131) ([Azat Khuzhin](https://github.com/azat)).
* Les fonctions `groupArray*` produisent désormais une erreur BAD\_ARGUMENTS pour la valeur 0 de type Int de l’argument max\_size, comme c’est déjà le cas pour UInt, au lieu d’essayer de s’exécuter avec cette valeur. [#78140](https://github.com/ClickHouse/ClickHouse/pull/78140) ([Eduard Karacharov](https://github.com/korowa)).
* Empêche un crash dans recoverLostReplica si la table locale est supprimée avant d’être détachée. [#78173](https://github.com/ClickHouse/ClickHouse/pull/78173) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige la colonne "alterable" dans system.s3\_queue\_settings, qui renvoyait toujours `false`. [#78187](https://github.com/ClickHouse/ClickHouse/pull/78187) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Masque la signature d’accès Azure afin qu’elle ne soit visible ni par l’utilisateur ni dans les logs. [#78189](https://github.com/ClickHouse/ClickHouse/pull/78189) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige le préchargement des sous-flux avec préfixes dans les Wide parts. [#78205](https://github.com/ClickHouse/ClickHouse/pull/78205) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige des crashes / résultats incorrects pour `mapFromArrays` dans le cas d’un tableau de clés de type `LowCardinality(Nullable)`. [#78240](https://github.com/ClickHouse/ClickHouse/pull/78240) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige les options d’authentification de delta-kernel. [#78255](https://github.com/ClickHouse/ClickHouse/pull/78255) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ne planifie pas de tâche RefreshMV si `disable_insertion_and_mutation` d’une replica est à `true`. Une tâche correspond à une insertion ; elle échouera si `disable_insertion_and_mutation` est à `true`. [#78277](https://github.com/ClickHouse/ClickHouse/pull/78277) ([Xu Jia](https://github.com/XuJia0210)).
* Valide l’accès aux tables sous-jacentes pour le moteur Merge. [#78339](https://github.com/ClickHouse/ClickHouse/pull/78339) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Le modificateur FINAL peut être perdu pour une table du moteur `Distributed`. [#78428](https://github.com/ClickHouse/ClickHouse/pull/78428) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* `Bitmapmin` renvoie uint32\_max lorsque le bitmap est `empty(uint64_max when input type >= 8bits)`, ce qui correspond au comportement de `minimum()` sur un `roaring_bitmap` vide. [#78444](https://github.com/ClickHouse/ClickHouse/pull/78444) ([wxybear](https://github.com/wxybear)).
* Annule "Apply preserve\_most attribute at some places in code", car cela peut entraîner des crashs. [#78449](https://github.com/ClickHouse/ClickHouse/pull/78449) ([Azat Khuzhin](https://github.com/azat)).
* Utilise les colonnes d’insertion pour l’inférence de schéma de INFILE. [#78490](https://github.com/ClickHouse/ClickHouse/pull/78490) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Désactive le parallélisme du traitement des requêtes juste après la lecture de `FROM` lorsque `distributed_aggregation_memory_efficient` est activé, car cela peut entraîner une erreur logique. Résout [#76934](https://github.com/ClickHouse/ClickHouse/issues/76934). [#78500](https://github.com/ClickHouse/ClickHouse/pull/78500) ([flynn](https://github.com/ucasfl)).
* Définit au moins un flux pour la lecture lorsqu’aucun flux n’est planifié après l’application du paramètre `max_streams_to_max_threads_ratio`. [#78505](https://github.com/ClickHouse/ClickHouse/pull/78505) ([Eduard Karacharov](https://github.com/korowa)).
* Dans le moteur de stockage S3Queue, corrige l’erreur logique "Cannot unregister: table uuid is not registered". Résout [#78285](https://github.com/ClickHouse/ClickHouse/issues/78285). [#78541](https://github.com/ClickHouse/ClickHouse/pull/78541) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ClickHouse est désormais capable de détecter son cgroup v2 sur les systèmes où les cgroups v1 et v2 sont tous deux activés. [#78566](https://github.com/ClickHouse/ClickHouse/pull/78566) ([Grigory Korolev](https://github.com/gkorolev)).
* Les table functions de cluster ObjectStorage échouaient lorsqu’elles étaient utilisées avec des paramètres au niveau de la table. [#78587](https://github.com/ClickHouse/ClickHouse/pull/78587) ([Daniil Ivanik](https://github.com/divanik)).
* Améliore les vérifications indiquant que les transactions ne sont pas prises en charge par ReplicatedMergeTree pour les `INSERT`. [#78633](https://github.com/ClickHouse/ClickHouse/pull/78633) ([Azat Khuzhin](https://github.com/azat)).
* Applique les paramètres de requête lors de l’opération Attach. [#78637](https://github.com/ClickHouse/ClickHouse/pull/78637) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige un crash lorsqu’un chemin non valide est spécifié dans `iceberg_metadata_file_path`. [#78688](https://github.com/ClickHouse/ClickHouse/pull/78688) ([alesapin](https://github.com/alesapin)).
* Dans le DeltaLake table engine avec l’implémentation delta-kernel, corrige le cas où le schéma lu diffère du schéma de la table alors que des colonnes de partition sont également présentes, ce qui entraîne une erreur de colonne introuvable. [#78690](https://github.com/ClickHouse/ClickHouse/pull/78690) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Cette mise à jour corrige un bug où une nouvelle session nommée se fermait involontairement à l’heure planifiée d’une session précédente si les deux sessions partageaient le même nom et que la nouvelle avait été créée avant l’expiration du délai d’attente de l’ancienne. [#78698](https://github.com/ClickHouse/ClickHouse/pull/78698) ([Alexey Katsman](https://github.com/alexkats)).
* Ne bloque pas l’arrêt de la table pendant l’exécution de CHECK TABLE. [#78782](https://github.com/ClickHouse/ClickHouse/pull/78782) ([Raúl Marín](https://github.com/Algunenano)).
* Correctif Keeper : corrige le nombre de nœuds éphémères dans tous les cas. [#78799](https://github.com/ClickHouse/ClickHouse/pull/78799) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige une conversion de type erronée dans `StorageDistributed` lors de l’utilisation de fonctions de table autres que `view()`. Clôt [#78464](https://github.com/ClickHouse/ClickHouse/issues/78464). [#78828](https://github.com/ClickHouse/ClickHouse/pull/78828) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige le formatage de `tupleElement(*, 1)`. Clôt [#78639](https://github.com/ClickHouse/ClickHouse/issues/78639). [#78832](https://github.com/ClickHouse/ClickHouse/pull/78832) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Les Dictionaries de type `ssd_cache` rejettent désormais les paramètres `block_size` et `write_buffer_size` nuls ou négatifs (ticket [#78314](https://github.com/ClickHouse/ClickHouse/issues/78314)). [#78854](https://github.com/ClickHouse/ClickHouse/pull/78854) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Corrige un crash dans REFRESHABLE MV en cas d’ALTER après un arrêt anormal. [#78858](https://github.com/ClickHouse/ClickHouse/pull/78858) ([Azat Khuzhin](https://github.com/azat)).
* Corrige l’analyse de valeurs DateTime invalides au format CSV. [#78919](https://github.com/ClickHouse/ClickHouse/pull/78919) ([Pavel Kruglov](https://github.com/Avogar)).

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

* La dépendance interne LLVM passe de 16 à 18. [#66053](https://github.com/ClickHouse/ClickHouse/pull/66053) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Restauration des tests d’intégration NATS supprimés et correction d’erreurs. - correction de certaines race conditions dans le NATS engine - correction de pertes de données lors du streaming de données vers NATS en cas de perte de connexion - correction du blocage lors de la réception du dernier fragment de données à la fin du streaming depuis NATS - nats\_max\_reconnect est obsolète et n’a aucun effet ; la reconnexion s’effectue désormais en continu avec le timeout nats\_reconnect\_wait. [#69772](https://github.com/ClickHouse/ClickHouse/pull/69772) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Correction du problème empêchant la génération des fichiers asm de contrib openssl. [#72622](https://github.com/ClickHouse/ClickHouse/pull/72622) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Amélioration de la stabilité du test 03210\_variant\_with\_aggregate\_function\_type. [#74012](https://github.com/ClickHouse/ClickHouse/pull/74012) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Prise en charge de la compilation de HDFS sur Mac ARM et Intel. [#74244](https://github.com/ClickHouse/ClickHouse/pull/74244) ([Yan Xin](https://github.com/yxheartipp)).
* Le script d’installation universel proposera l’installation même sur macOS. [#74339](https://github.com/ClickHouse/ClickHouse/pull/74339) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Correction de la compilation lorsque kerberos n’est pas activé. [#74771](https://github.com/ClickHouse/ClickHouse/pull/74771) ([flynn](https://github.com/ucasfl)).
* Mise à jour vers LLVM 19 embarqué. [#75148](https://github.com/ClickHouse/ClickHouse/pull/75148) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* *Potentiellement incompatible* : amélioration visant à rendre les valeurs par défaut encore plus restrictives. Les valeurs par défaut actuelles sont déjà sûres. L’utilisateur doit spécifier une option pour publier explicitement les ports. Mais lorsque l’utilisateur `default` n’a pas de mot de passe défini via les variables d’environnement `CLICKHOUSE_PASSWORD` et/ou de nom d’utilisateur modifié via `CLICKHOUSE_USER`, il ne doit être accessible que depuis le système local, comme niveau de protection supplémentaire. [#75259](https://github.com/ClickHouse/ClickHouse/pull/75259) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Les tests d’intégration ont un timeout d’une heure pour un lot unique de tests parallèles en cours d’exécution. Lorsque ce timeout est atteint, `pytest` est interrompu sans certains logs. Le timeout interne de pytest est défini à 55 minutes afin d’afficher les résultats d’une session et de ne pas déclencher le signal de timeout externe. Clôt [#75532](https://github.com/ClickHouse/ClickHouse/issues/75532). [#75533](https://github.com/ClickHouse/ClickHouse/pull/75533) ([Ilya Yatsishin](https://github.com/qoega)).
* Transformer toutes les actions liées à clickhouse-server en fonction, et ne les exécuter qu’au lancement du binaire par défaut dans `entrypoint.sh`. Une amélioration attendue depuis longtemps avait été suggérée dans [#50724](https://github.com/ClickHouse/ClickHouse/issues/50724). Ajout de l’option `--users` à `clickhouse-extract-from-config` pour récupérer les values depuis `users.xml`. [#75643](https://github.com/ClickHouse/ClickHouse/pull/75643) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Pour les tests de stress, si le server ne s’est pas arrêté pendant la collecte de stacktraces via gdb, un délai d’attente supplémentaire est ajouté afin de rendre la détection de `Possible deadlock on shutdown (see gdb.log)` moins bruyante. Ce délai n’est ajouté que lorsque le test ne s’est pas terminé avec succès. [#75668](https://github.com/ClickHouse/ClickHouse/pull/75668) ([Ilya Yatsishin](https://github.com/qoega)).
* Restaure les tests d’intégration nats supprimés et corrige des erreurs. - correction de certaines conditions de concurrence dans le moteur nats - correction de pertes de données lors du streaming de données vers nats en cas de perte de connexion - correction du blocage lors de la réception du dernier fragment de données à la fin du streaming depuis nats - nats\_max\_reconnect est obsolète et n’a aucun effet ; la reconnexion est désormais effectuée en permanence avec le délai d’attente nats\_reconnect\_wait. [#75850](https://github.com/ClickHouse/ClickHouse/pull/75850) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Active ICU et GRPC lors de la compilation croisée pour Darwin. [#75922](https://github.com/ClickHouse/ClickHouse/pull/75922) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige le découpage de la sortie du test causé par `sleep` lors de l’arrêt du groupe de processus. [#76090](https://github.com/ClickHouse/ClickHouse/pull/76090) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Ne collecte plus les logs `docker-compose` à la fin de l’exécution, car le script est souvent arrêté de force. Les collecte à la place en arrière-plan. [#76140](https://github.com/ClickHouse/ClickHouse/pull/76140) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Répartit les tests du stockage Kafka dans plusieurs fichiers. Corrige [#69452](https://github.com/ClickHouse/ClickHouse/issues/69452). [#76208](https://github.com/ClickHouse/ClickHouse/pull/76208) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* `clickhouse-odbc-bridge` et `clickhouse-library-bridge` sont déplacés vers un repository distinct, [https://github.com/ClickHouse/odbc-bridge/](https://github.com/ClickHouse/odbc-bridge/). [#76225](https://github.com/ClickHouse/ClickHouse/pull/76225) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Supprime environ 20 Mo de code mort du binaire. [#76226](https://github.com/ClickHouse/ClickHouse/pull/76226) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Relève la version minimale requise de CMake à 3.25 en raison de l’introduction de `block()`. [#76316](https://github.com/ClickHouse/ClickHouse/pull/76316) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Met à jour fmt vers la version 11.1.3. [#76547](https://github.com/ClickHouse/ClickHouse/pull/76547) ([Raúl Marín](https://github.com/Algunenano)).
* Met à niveau `lz4` vers `1.10.0`. [#76571](https://github.com/ClickHouse/ClickHouse/pull/76571) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Met à niveau `curl` vers `8.12.1`. [#76572](https://github.com/ClickHouse/ClickHouse/pull/76572) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Met à niveau `libcpuid` vers `0.7.1`. [#76573](https://github.com/ClickHouse/ClickHouse/pull/76573) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Utilise un format lisible par machine pour analyser les résultats de pytest. [#76910](https://github.com/ClickHouse/ClickHouse/pull/76910) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Corrige la compilation croisée de Rust et permet de désactiver complètement Rust. [#76921](https://github.com/ClickHouse/ClickHouse/pull/76921) ([Raúl Marín](https://github.com/Algunenano)).
* Exige clang 19 pour compiler le projet. [#76945](https://github.com/ClickHouse/ClickHouse/pull/76945) ([Raúl Marín](https://github.com/Algunenano)).
* Le test s’exécute pendant plus de 10 secondes en mode série. C’est trop long pour les tests rapides. [#76948](https://github.com/ClickHouse/ClickHouse/pull/76948) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Mise à niveau de `sccache` vers `0.10.0`. [#77580](https://github.com/ClickHouse/ClickHouse/pull/77580) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Prise en compte des fonctionnalités cibles du CPU en Rust et activation de la LTO dans toutes les crates. [#78590](https://github.com/ClickHouse/ClickHouse/pull/78590) ([Raúl Marín](https://github.com/Algunenano)).
* Mise à niveau de `minizip-ng` vers `4.0.9`. [#78917](https://github.com/ClickHouse/ClickHouse/pull/78917) ([Konstantin Bogdanov](https://github.com/thevar1able)).
