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

# Registro de cambios de 2025

> Registro de cambios de 2025

<div id="table-of-contents">
  ### Tabla de contenidos
</div>

**[Versión de ClickHouse v25.12, 2025-12-18](#2512)**<br />
**[Versión de ClickHouse v25.11, 2025-11-27](#2511)**<br />
**[Versión de ClickHouse v25.10, 2025-10-30](#2510)**<br />
**[Versión de ClickHouse v25.9, 2025-09-25](#259)**<br />
**[Versión de ClickHouse v25.8 LTS, 2025-08-28](#258)**<br />
**[Versión de ClickHouse v25.7, 2025-07-24](#257)**<br />
**[Versión de ClickHouse v25.6, 2025-06-26](#256)**<br />
**[Versión de ClickHouse v25.5, 2025-05-22](#255)**<br />
**[Versión de ClickHouse v25.4, 2025-04-22](#254)**<br />
**[Versión de ClickHouse v25.3 LTS, 2025-03-20](#253)**<br />
**[Versión de ClickHouse v25.2, 2025-02-27](#252)**<br />
**[Versión de ClickHouse v25.1, 2025-01-28](#251)**<br />
**[Registro de cambios de 2024](/es/resources/changelogs/oss/2024)**<br />
**[Registro de cambios de 2023](/es/resources/changelogs/oss/2023)**<br />
**[Registro de cambios de 2022](/es/resources/changelogs/oss/2022)**<br />
**[Registro de cambios de 2021](/es/resources/changelogs/oss/2021)**<br />
**[Registro de cambios de 2020](/es/resources/changelogs/oss/2020)**<br />
**[Registro de cambios de 2019](/es/resources/changelogs/oss/2019)**<br />
**[Registro de cambios de 2018](/es/resources/changelogs/oss/2018)**<br />
**[Registro de cambios de 2017](/es/resources/changelogs/oss/2017)**<br />

<div id="2512">
  ### Lanzamiento de ClickHouse 25.12, 2025-12-18
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* ALTER MODIFY COLUMN ahora requiere un DEFAULT explícito al convertir columnas Nullable en tipos no anulables. Antes, esos ALTER podían quedarse atascados con errores de cannot convert null to not null; ahora los valores NULL se sustituyen por la expresión por defecto de la columna. Resuelve [#5985](https://github.com/ClickHouse/ClickHouse/issues/5985). [#84770](https://github.com/ClickHouse/ClickHouse/pull/84770) ([Vladimir Cherkasov](https://github.com/vdimir)).
* El tokenizador ngram ya no devolverá ngrams de longitud inferior a N, con la que fue configurado. La búsqueda de texto no devolverá filas cuando los tokens de búsqueda estén vacíos. [#89757](https://github.com/ClickHouse/ClickHouse/pull/89757) ([George Larionov](https://github.com/george-larionov)).
* Al hacer alter de una columna de `String` a `Nullable(String)`, no realizaremos ninguna mutación de los datos. Sin embargo, para la función de agregado `uniq`, se utiliza una estructura de datos distinta: para una columna nullable, se usará `AggregateFunctionNull` con un agregador `uniq` anidado. `AggregateFunctionNull` serializará una marca bool adicional. Esto hará que el archivo de estadísticas sea incompatible. La corrección consiste en añadir una marca para registrar si se trata de una columna nullable durante la serialización. El formato de las estadísticas ha cambiado, y el servidor puede fallar si hay estadísticas con el formato antiguo. Este PR [#90904](https://github.com/ClickHouse/ClickHouse/pull/90904) corregirá el fallo y lanzará una excepción cuando las estadísticas existentes usen el formato heredado. Para evitar la excepción, debemos ejecutar `ALTER TABLE table MATERIALIZE STATISTICS ALL` para regenerar las estadísticas y corregirlo. [#90311](https://github.com/ClickHouse/ClickHouse/pull/90311) ([Han Fei](https://github.com/hanfei1991)).
* Se eliminan los ajustes `allow_not_comparable_types_in_order_by`/`allow_not_comparable_types_in_comparison_functions`. Permitir tipos no comparables en `ORDER BY` o en funciones de comparación puede provocar errores lógicos y resultados inesperados. Resuelve [#90028](https://github.com/ClickHouse/ClickHouse/issues/90028). [#90527](https://github.com/ClickHouse/ClickHouse/pull/90527) ([Pavel Kruglov](https://github.com/Avogar)).
* Se cambió el valor predeterminado de la configuración `check_query_single_value_result` de `true` a `false`. Esto hace que `CHECK TABLE` devuelva resultados detallados por cada parte en lugar de un resultado agregado (1 = correcto, 0 = se encontraron errores). En comparación con el comportamiento anterior, es probable que esto se ajuste mejor a lo que espera el usuario. [#91009](https://github.com/ClickHouse/ClickHouse/pull/91009) ([Robert Schulze](https://github.com/rschu1ze)).
* Múltiples correcciones relacionadas con los índices implícitos. El esquema mostrado o almacenado (metadatos de Keeper) no incluirá índices implícitos, como los creados por la configuración `add_minmax_index_for_numeric_columns` o `add_minmax_index_for_string_columns`. Esto podría provocar errores de metadatos cuando una tabla ReplicatedMergeTree se crea o actualiza en una versión más reciente, si hay una réplica en una versión anterior. En esos casos, envíe los DDLs a la réplica antigua hasta que el clúster se haya actualizado por completo. [#91429](https://github.com/ClickHouse/ClickHouse/pull/91429) ([Raúl Marín](https://github.com/Algunenano)).
* Actualizar `clickhouse-client` para que devuelva un código de salida distinto de cero (159 - TIMEOUT\_EXCEEDED) cuando una consulta agote el tiempo de espera debido a `receive_timeout`. Antes, los tiempos de espera devolvían el código de salida 0 (éxito), lo que dificultaba que los scripts y la automatización detectaran estos fallos por tiempo de espera. [#91432](https://github.com/ClickHouse/ClickHouse/pull/91432) ([Sav](https://github.com/sberss)).
* Ahora se prohíbe crear tablas especiales de `MergeTree` (como `ReplacingMergeTree`, `CollapsingMergeTree`, etc.) con una clave `ORDER BY` vacía, ya que el comportamiento de merge en estas tablas no está definido. Si aun así necesita crear una tabla de este tipo, habilite la opción `allow_suspicious_primary_key`. [#91569](https://github.com/ClickHouse/ClickHouse/pull/91569) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigen las funciones `bitShiftLeft` y `bitShiftRight` para que devuelvan 0 o un valor vacío cuando el desplazamiento es exactamente del tamaño del tipo. [#91943](https://github.com/ClickHouse/ClickHouse/pull/91943) ([Pablo Marcos](https://github.com/pamarcos)).
* Seguimiento de [#88380](https://github.com/ClickHouse/ClickHouse/pull/88380). Este PR considera la desactivación de los argumentos posicionales en las proyecciones como un cambio incompatible con versiones anteriores. Además, introduce la configuración `enable_positional_arguments_for_projections` para permitir una actualización segura de un clúster de ClickHouse cuando hay argumentos posicionales en las proyecciones. [#92007](https://github.com/ClickHouse/ClickHouse/pull/92007) ([Dmitry Novik](https://github.com/novikd)).
* Se habilitan de forma predeterminada los datos compartidos avanzados para JSON. Tras este cambio, ya no será posible volver a versiones anteriores a la 25.8, porque esas versiones no podrán leer las nuevas partes de datos con una columna JSON. Para realizar actualizaciones seguras, se recomienda establecer la opción `compatibility` en la versión anterior o configurar los ajustes de MergeTree `dynamic_serialization_version='v2', object_serialization_version='v2'`. [#92511](https://github.com/ClickHouse/ClickHouse/pull/92511) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Los usuarios ahora pueden configurar tablas de S3/Azure Queue para mover o etiquetar archivos procesados, además de las opciones anteriores de conservar o eliminar archivos. Soluciona [#72944](https://github.com/ClickHouse/ClickHouse/issues/72944). [#86907](https://github.com/ClickHouse/ClickHouse/pull/86907) ([Murat Khairulin](https://github.com/mxwell)).
* En el almacenamiento S3/Azure Queue se añade la configuración `commit_on_select` (para definir si los datos procesados deben confirmarse y si debe aplicarse la acción `after_processing`). El valor predeterminado es `false`; se corrige la comprobación de la MV adjunta durante un SELECT. [#91450](https://github.com/ClickHouse/ClickHouse/pull/91450) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Añade instrumentación en tiempo de ejecución con XRay para depurar problemas en producción y obtener perfiles de forma determinista. Resuelve [#74249](https://github.com/ClickHouse/ClickHouse/issues/74249). [#89173](https://github.com/ClickHouse/ClickHouse/pull/89173) ([Pablo Marcos](https://github.com/pamarcos)).
* Permite usar segundos argumentos no constantes con `IN`. También admite una tupla como segundo argumento. [#77906](https://github.com/ClickHouse/ClickHouse/pull/77906) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Funciones para calcular el área y el perímetro para el tipo Geometry. [#89047](https://github.com/ClickHouse/ClickHouse/pull/89047) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se implementa la función `dictGetKeys`, que devuelve la(s) clave(s) del diccionario cuyo atributo es igual al valor especificado. Utiliza una caché de búsqueda inversa por consulta, ajustada mediante la configuración `max_reverse_dictionary_lookup_cache_size_bytes`, para acelerar las búsquedas repetidas. [#89197](https://github.com/ClickHouse/ClickHouse/pull/89197) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Añade la configuración `type_json_skip_invalid_typed_paths` para deshabilitar las excepciones en las inserciones/conversiones de tipo al tipo JSON cuando el JSON de entrada no puede convertirse a rutas tipadas explícitas en el tipo JSON. En su lugar, se usa el valor NULL/cero de la ruta tipada. [#89886](https://github.com/ClickHouse/ClickHouse/pull/89886) ([Max Justus Spransy](https://github.com/maxjustus)).
* Se admite el join `direct` (bucle anidado) para tablas MergeTree. Para usarlo, especifíquelo como la única opción en la configuración: `join_algorithm = 'direct'`. [#89920](https://github.com/ClickHouse/ClickHouse/pull/89920) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se admite `ORDER BY` en la operación `CREATE` para Iceberg, además de la ordenación en `INSERT`. Resuelve [#89916](https://github.com/ClickHouse/ClickHouse/issues/89916). [#90141](https://github.com/ClickHouse/ClickHouse/pull/90141) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se introducen ajustes a nivel de proyección, expuestos mediante la nueva cláusula `WITH SETTINGS` en `ALTER TABLE ... ADD PROJECTION`. Estos ajustes permiten que las proyecciones redefinan determinados parámetros de almacenamiento de MergeTree (p. ej., `index_granularity`, `index_granularity_bytes`) de forma individual para cada proyección. [#90158](https://github.com/ClickHouse/ClickHouse/pull/90158) ([Amos Bird](https://github.com/amosbird)).
* Se añade la función SQL `HMAC(algorithm, message, key)` como parte de [#73900](https://github.com/ClickHouse/ClickHouse/issues/73900) y [#38775](https://github.com/ClickHouse/ClickHouse/issues/38775). [#90837](https://github.com/ClickHouse/ClickHouse/pull/90837) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se añadió compatibilidad para que la función `has` utilice la clave primaria y los índices de omisión de datos cuando el primer argumento es un array constante. Cierra [#90980](https://github.com/ClickHouse/ClickHouse/issues/90980). [#91023](https://github.com/ClickHouse/ClickHouse/pull/91023) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se implementa el nuevo formato de entrada y salida `Buffers`. Este formato es similar a `Native`; sin embargo, a diferencia de `Native`, no almacena nombres de columnas, tipos de columnas ni ningún metadato adicional. Cierra [#84017](https://github.com/ClickHouse/ClickHouse/issues/84017). [#91156](https://github.com/ClickHouse/ClickHouse/pull/91156) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Agrega un ajuste `max_streams_for_files_processing_in_cluster_functions` para controlar el número de streams para la lectura paralela de archivos en las funciones de tabla Cluster. Cierra [#90223](https://github.com/ClickHouse/ClickHouse/issues/90223). [#91323](https://github.com/ClickHouse/ClickHouse/pull/91323) ([Pavel Kruglov](https://github.com/Avogar)).
* Enmascaramiento de datos para la seguridad a nivel de fila (solo disponible en ClickHouse Cloud). Se añadió un analizador de políticas de enmascaramiento de datos para dar soporte a esta función en clickhouse-client. [#90552](https://github.com/ClickHouse/ClickHouse/pull/90552) ([pufit](https://github.com/pufit)).
* Se añade la opción `allow_reentry` a la función de agregación `windowFunnel`. Cuando se habilita con strict\_order, ignora los eventos que incumplen el orden en lugar de detener el análisis del embudo. Esto permite gestionar recorridos de usuario con recargas (A->A->B) o navegación hacia atrás (A->B->A->C) sin infravalorar las tasas de conversión. [#86916](https://github.com/ClickHouse/ClickHouse/pull/86916) ([Lee ChaeRok](https://github.com/LeeChaeRok)).
* Compatibilidad de Keeper con ZooKeeper: CREATE con STATISTICS. [#88797](https://github.com/ClickHouse/ClickHouse/pull/88797) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Soporte para watches persistentes de ZooKeeper en ClickHouse Keeper. Continuación, parte 2: [https://github.com/ClickHouse/ClickHouse/pull/78207](https://github.com/ClickHouse/ClickHouse/pull/78207). [#88813](https://github.com/ClickHouse/ClickHouse/pull/88813) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se añade una configuración de MergeTree `alter_column_secondary_index_mode` para controlar qué hacer con los índices durante las mutaciones. Valores posibles: throw, drop, rebuild y compatibility. Cierra [#77797](https://github.com/ClickHouse/ClickHouse/issues/77797). [#89335](https://github.com/ClickHouse/ClickHouse/pull/89335) ([Raúl Marín](https://github.com/Algunenano)).
* Como los tipos de datos `Time` y `Time64` ya están listos para su uso en producción, la configuración `enable_time_time64_type` ahora está habilitada de forma predeterminada. [#89345](https://github.com/ClickHouse/ClickHouse/pull/89345) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se admite la lectura del CDF de DeltaLake mediante la función de tabla `deltaLake` con los ajustes `delta_lake_snapshot_start_version`, `delta_lake_snapshot_end_version`. El CDF (Change Data Feed, una funcionalidad que permite capturar y consultar automáticamente cambios en los datos a nivel de fila, como inserciones, actualizaciones y eliminaciones, entre versiones de una tabla Delta) se habilita en DeltaLake mediante `delta.enableChangeDataFeed`. Las columnas proporcionadas junto con los datos son `_change_type`, `_commit_version`, `_commit_timestamp`. [#90431](https://github.com/ClickHouse/ClickHouse/pull/90431) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admite el uso de índices negativos para acceder a elementos de tuplas (p. ej., `tuple.-1`). [#91665](https://github.com/ClickHouse/ClickHouse/pull/91665) ([Amos Bird](https://github.com/amosbird)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se introduce el formato de índice de texto v3 y se promueve a estado Beta.
* Se introduce una nueva lógica para ejecutar automáticamente consultas mediante réplicas paralelas, controlada por la configuración `automatic_parallel_replicas_mode`. Durante la ejecución normal en un solo nodo, ClickHouse recopila estadísticas que luego se tendrán en cuenta en la etapa de planificación. Si las estadísticas sugieren que las réplicas paralelas probablemente serán beneficiosas, ClickHouse ejecutará automáticamente la consulta en cuestión con réplicas paralelas. El conjunto de consultas admitidas es actualmente bastante limitado. [#87541](https://github.com/ClickHouse/ClickHouse/pull/87541) ([Nikita Taranov](https://github.com/nickitat)).
* Permite acceder a instancias de ClickHouse Cloud usando credenciales de Cloud con --login. [#89261](https://github.com/ClickHouse/ClickHouse/pull/89261) ([Krishna Mannem](https://github.com/kcmannem)).
* Añade la configuración de nivel de sesión `aggregate_function_input_format` para mejorar las consultas `INSERT` en tablas con columnas `AggregateFunction`, permitiendo insertar datos como estado serializado, valores sin procesar o arrays. [#88088](https://github.com/ClickHouse/ClickHouse/pull/88088) ([Punith Nandyappa Subashchandra](https://github.com/punithns97)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Optimiza las consultas `ORDER BY...LIMIT N` usando un skip index y un filtro de umbral dinámico para reducir significativamente las filas procesadas. [#89835](https://github.com/ClickHouse/ClickHouse/pull/89835) ([Shankar Iyer](https://github.com/shankar-iyer)).
* ClickHouse ahora utiliza skip indexes para realizar análisis de índices en cláusulas WHERE con condiciones de filtrado combinadas con `AND` y `OR`. Anteriormente, la cláusula WHERE debía ser una conjunción (AND) de condiciones de filtrado para poder utilizar skip indexes. Una nueva configuración `use_skip_indexes_for_disjunctions` (valor predeterminado: activado) controla esta funcionalidad. (incidencia [#75228](https://github.com/ClickHouse/ClickHouse/issues/75228)). [#87781](https://github.com/ClickHouse/ClickHouse/pull/87781) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se admite conservar la lectura en orden desde la tabla izquierda en operaciones LEFT/INNER JOIN, lo que puede aprovecharse en pasos posteriores. Puede deshabilitarse mediante el ajuste `query_plan_read_in_order_through_join`. Se admite la optimización con fila virtual durante la lectura (consulte el ajuste `read_in_order_use_virtual_row`) para LEFT/INNER JOINs. [#89815](https://github.com/ClickHouse/ClickHouse/pull/89815) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se mejora el rendimiento de las columnas materializadas de manera diferida con un límite mayor. [#90309](https://github.com/ClickHouse/ClickHouse/pull/90309) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Los usuarios deberían notar una menor latencia en el análisis de índices cuando hay índices `minmax` grandes (millones de gránulos). [#90428](https://github.com/ClickHouse/ClickHouse/pull/90428) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Implementa un algoritmo sencillo de reordenación de `JOIN` con DPsize para `INNER JOIN`. Una nueva configuración experimental controla qué algoritmos se usan y en qué orden; por ejemplo, `query_plan_optimize_join_order_algorithm='dpsize,greedy'` significa que primero se prueba DPsize y, si falla, se recurre a greedy. [#91002](https://github.com/ClickHouse/ClickHouse/pull/91002) ([Alexander Gololobov](https://github.com/davenger)).
* Falla de inmediato cuando las consultas alcanzan los límites de filas. Resuelve [#61872](https://github.com/ClickHouse/ClickHouse/issues/61872). [#62804](https://github.com/ClickHouse/ClickHouse/pull/62804) ([Sean Haynes](https://github.com/seandhaynes)).
* [#84477](https://github.com/clickhouse/clickhouse/pull/84477) añadió restricciones sobre las consultas SELECT que pueden usarse en consultas `insert select from s3Cluster(...)` para la ejecución distribuida en paralelo. Este cambio permite usar WHERE, lo que antes era posible. [#84611](https://github.com/ClickHouse/ClickHouse/pull/84611) ([Igor Nikonov](https://github.com/devcrafter)).
* Precarga de las claves durante la iteración de la tabla hash para minimizar los fallos de caché. [#84708](https://github.com/ClickHouse/ClickHouse/pull/84708) ([lgbo](https://github.com/lgbo-ustc)).
* Se optimiza la función de agregación `histogram` ordenando solo la cola del array de puntos y omitiendo la ordenación en entradas monotónicas, lo que logra una mejora de velocidad de \~10%. [#85760](https://github.com/ClickHouse/ClickHouse/pull/85760) ([MakarDev](https://github.com/MakarDev)).
* Se mejoró el rendimiento del filtrado de predicados con funciones como `like`, `equals`, `has` y otras, aprovechando un filtro preliminar adicional construido a partir del índice de texto. Esta optimización se habilita mediante la configuración `query_plan_text_index_add_hint`. También se mejoró el uso del índice de texto para columnas del tipo de datos `Map`. [#88550](https://github.com/ClickHouse/ClickHouse/pull/88550) ([Anton Popov](https://github.com/CurtizJ)).
* Optimiza las búsquedas inversas repetidas en diccionarios mediante búsquedas más rápidas en un conjunto precalculado de posibles valores de la clave. Cierra [#7968](https://github.com/ClickHouse/ClickHouse/issues/7968). [#88971](https://github.com/ClickHouse/ClickHouse/pull/88971) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Mejora del rendimiento y del comportamiento de la función de agregado `topK`. [#90091](https://github.com/ClickHouse/ClickHouse/pull/90091) ([Raúl Marín](https://github.com/Algunenano)).
* Se ha mejorado el rendimiento de las operaciones de comparación de `Decimal`. Resuelve [#28192](https://github.com/ClickHouse/ClickHouse/issues/28192). [#90153](https://github.com/ClickHouse/ClickHouse/pull/90153) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se añadió compatibilidad con la poda de particiones para las funciones de Apache Paimon, como continuación de [https://github.com/ClickHouse/ClickHouse/pull/84423](https://github.com/ClickHouse/ClickHouse/pull/84423). [#90253](https://github.com/ClickHouse/ClickHouse/pull/90253) ([JIaQi](https://github.com/JiaQiTang98)).
* Uso de operaciones SIMD avanzadas para funciones lógicas mediante despacho dinámico. [#90432](https://github.com/ClickHouse/ClickHouse/pull/90432) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora el rendimiento de la función JIT al no inicializar innecesariamente en cero la columna de resultado. [#90449](https://github.com/ClickHouse/ClickHouse/pull/90449) ([Raúl Marín](https://github.com/Algunenano)).
* Se acelera la descompresión de `T64` mediante despacho dinámico. [#90610](https://github.com/ClickHouse/ClickHouse/pull/90610) ([Raúl Marín](https://github.com/Algunenano)).
* Optimiza el filtrado in-place en el lector de MergeTree. Resuelve [#87119](https://github.com/ClickHouse/ClickHouse/issues/87119). [#90630](https://github.com/ClickHouse/ClickHouse/pull/90630) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Se introduce una heurística adicional para reducir la amplitud de las fusiones seleccionadas. Realizar fusiones más pequeñas aumentará la amplificación de escritura, pero al mismo tiempo puede ayudar a evitar errores `TOO_MANY_PARTS`. [#91163](https://github.com/ClickHouse/ClickHouse/pull/91163) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Mejora el rendimiento de las consultas para tablas de S3 creadas con un patrón glob al aplicar pushdown a los valores del filtro `_path`, lo que permite evitar las operaciones de listado de S3. Se controla con la configuración `s3_path_filter_limit`. [#91165](https://github.com/ClickHouse/ClickHouse/pull/91165) ([Eduard Karacharov](https://github.com/korowa)).
* Se acelera la conversión de columnas a bool (en cláusulas WHERE) mediante despacho dinámico. [#91203](https://github.com/ClickHouse/ClickHouse/pull/91203) ([Raúl Marín](https://github.com/Algunenano)).
* Se acelera la ordenación de un único bloque numérico mediante despacho dinámico. [#91213](https://github.com/ClickHouse/ClickHouse/pull/91213) ([Raúl Marín](https://github.com/Algunenano)).
* Añade una optimización para eliminar las columnas no utilizadas en los planes de ejecución de consultas. Resuelve [#75152](https://github.com/ClickHouse/ClickHouse/issues/75152). [#76487](https://github.com/ClickHouse/ClickHouse/pull/76487) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* El valor predeterminado de `query_plan_optimize_join_order_limit` se ha cambiado a `10`. [#89312](https://github.com/ClickHouse/ClickHouse/pull/89312) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se habilita la configuración `allow_statistics_optimize` de forma predeterminada, para que el optimizador de JOINs use estadísticas de columnas. [#89332](https://github.com/ClickHouse/ClickHouse/pull/89332) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade soporte para los filtros de runtime de JOIN en los JOIN `ANTI`. Además, se refactoriza la implementación de los filtros de runtime para reducir la contención de bloqueos. [#89710](https://github.com/ClickHouse/ClickHouse/pull/89710) ([Dmitry Novik](https://github.com/novikd)).
* Reduce el uso de memoria durante las fusiones en la tabla `system.metric_log` (activada de forma predeterminada) estableciendo `min_bytes_for_wide_part` y `vertical_merge_algorithm_min_bytes_to_activate` en 128MB. [#89811](https://github.com/ClickHouse/ClickHouse/pull/89811) ([filimonov](https://github.com/filimonov)).
* Se habilita el uso del índice invertido en PREWHERE. Resuelve [#89975](https://github.com/ClickHouse/ClickHouse/issues/89975). [#89977](https://github.com/ClickHouse/ClickHouse/pull/89977) ([Peng Jian](https://github.com/fastio)).
* No se agregan proveedores de S3 si se usa GCP OAuth, lo que mejora el rendimiento en GCS. [#91706](https://github.com/ClickHouse/ClickHouse/pull/91706) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="improvement">
  #### Mejora
</div>

* Se añadió una nueva configuración `apply_row_policy_after_final` que permite que la consulta aplique la política de filas solo después de FINAL, lo que hace más preciso el comportamiento de ReplacingMergeTree con políticas de filas. Corrige [#90986](https://github.com/ClickHouse/ClickHouse/issues/90986). [#91065](https://github.com/ClickHouse/ClickHouse/pull/91065) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* En el formato `Pretty`, las tuplas nombradas ahora se muestran como Pretty JSON. Esto cierra [#65022](https://github.com/ClickHouse/ClickHouse/issues/65022). [#91779](https://github.com/ClickHouse/ClickHouse/pull/91779) ([Mostafa Mohamed Salah](https://github.com/Sasao4o)).
* Se añadieron los campos `last_error_time`, `last_error_message`, `last_error_query_id` y `last_error_trace` a la tabla `system.error_log`. [#89879](https://github.com/ClickHouse/ClickHouse/pull/89879) ([Narasimha Pakeer](https://github.com/npakeer)).
* El cliente CLI ahora puede omitir el mensaje 'la versión de ClickHouse server es anterior a la del cliente de ClickHouse. Esto puede indicar que el servidor está desactualizado y que puede actualizarse' al especificar `--no-server-client-version-message` o `false`. [#87784](https://github.com/ClickHouse/ClickHouse/pull/87784) ([Larry Snizek](https://github.com/larry-cdn77)).
* Se añade un mensaje de error que indica que la parte se deduplicó. [#80264](https://github.com/ClickHouse/ClickHouse/pull/80264) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Se añadieron las columnas `dependencies` y `missing_dependencies` a `system.kafka_consumers` para indicar las tablas de destino de las vistas materializadas de las tablas de Kafka. Se añadió el contador `KafkaMVNotReady`. [#85346](https://github.com/ClickHouse/ClickHouse/pull/85346) ([Ilya Golshtein](https://github.com/ilejn)).
* Ahora, las expresiones por defecto de la tabla funcionan correctamente en las inserciones que usan `remote` y el protocolo nativo. Cierra [#87972](https://github.com/ClickHouse/ClickHouse/issues/87972). [#88540](https://github.com/ClickHouse/ClickHouse/pull/88540) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Permite deshabilitar la recopilación de métricas asíncronas `PSI_*_*`. [#88557](https://github.com/ClickHouse/ClickHouse/pull/88557) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se añadió compatibilidad con la serialización dispersa para columnas de tipo `Nullable`. Esto da continuidad a [#44539](https://github.com/ClickHouse/ClickHouse/issues/44539). [#88999](https://github.com/ClickHouse/ClickHouse/pull/88999) ([Amos Bird](https://github.com/amosbird)).
* El disco `plain-rewritable` tiene su propia implementación y estructura. No lo basemos en discos `plain` normales. [#89807](https://github.com/ClickHouse/ClickHouse/pull/89807) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Ninguna excepción en HTTP debería contener nunca el fragmento final de longitud cero. [#89998](https://github.com/ClickHouse/ClickHouse/pull/89998) ([Kaviraj Kanagaraj](https://github.com/kavirajk)).
* Se añade una comprobación en el lado del servidor de Keeper durante el handshake para rechazar a los clientes cuando `last_zxid_seen (provided by the client) > last_processed_zxid`. Esto evita lecturas desactualizadas cuando los clientes se reconectan a réplicas con retraso. [#90016](https://github.com/ClickHouse/ClickHouse/pull/90016) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se añade `kafka_consumer_reschedule_ms` como una configuración ajustable del motor de tabla `Kafka` para ajustar cuánto tiempo duermen los consumidores mientras esperan nuevos datos. Resuelve [#89204](https://github.com/ClickHouse/ClickHouse/issues/89204). [#90112](https://github.com/ClickHouse/ClickHouse/pull/90112) ([Jeremy Aguilon](https://github.com/JerAguilon)).
* Añade una nueva columna `parts_in_progress_names` a `system.mutations` para mejorar las tareas de diagnóstico. [#90155](https://github.com/ClickHouse/ClickHouse/pull/90155) ([Shaohua Wang](https://github.com/tiandiwonder)).
* Reintentar ante errores de red cuando la biblioteca S3 analiza una respuesta XML. [#90216](https://github.com/ClickHouse/ClickHouse/pull/90216) ([Sema Checherinda](https://github.com/CheSema)).
* Queremos ejecutar los keepers en procesos de servidor independientes y, para evitar sobrecargar Prometheus en regiones grandes, debemos seguir exponiendo solo las métricas relacionadas con Keeper. [#90244](https://github.com/ClickHouse/ClickHouse/pull/90244) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se añade compatibilidad con la carga de la configuración de ClickHouse Client desde las rutas de XDG Base Directory (p. ej., `~/.config/clickhouse/config.xml`), además de la ubicación heredada `~/.clickhouse-client/`. Resuelve [#89882](https://github.com/ClickHouse/ClickHouse/issues/89882). [#90306](https://github.com/ClickHouse/ClickHouse/pull/90306) ([Wujun Jiang](https://github.com/rainac1)).
* Añadir un límite de tamaño en bytes para el lote de solicitudes de append en Keeper. El límite se controla con `keeper_server.coordination_settings.max_requests_append_bytes_size`. [#90342](https://github.com/ClickHouse/ClickHouse/pull/90342) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añade una configuración para Iceberg a fin de evitar una gran cantidad de particiones. [#90365](https://github.com/ClickHouse/ClickHouse/pull/90365) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Actualizar los mensajes de advertencia al acercarse a los límites de guardrails: mostrar los valores actuales y los de throw. [#90438](https://github.com/ClickHouse/ClickHouse/pull/90438) ([Nikita Fomichev](https://github.com/fm4v)).
* Transmitir fragmentos en la tabla `system.filesystem_cache` en lugar de crear un único fragmento con todo el estado de la caché. Leer el estado de la caché del sistema de archivos puede llevar mucho tiempo en cachés grandes y consumir mucha memoria, por lo que procesarlo en streaming es indispensable para implementaciones de gran tamaño. [#90508](https://github.com/ClickHouse/ClickHouse/pull/90508) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregido un mensaje de excepción incorrecto en el particionamiento de Hive: le faltaba un espacio. [#90685](https://github.com/ClickHouse/ClickHouse/pull/90685) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las entradas de la caché del índice de similitud vectorial ahora se eliminan cuando las partes de la tabla se eliminan o se sustituyen por partes más recientes. Antes, solo se eliminaban de forma diferida mediante la expulsión de la caché. [#90750](https://github.com/ClickHouse/ClickHouse/pull/90750) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se actualiza chdig (una herramienta de diagnóstico de ClickHouse para la línea de comandos) a la versión [v25.12.1](https://github.com/azat/chdig/releases/tag/v25.12.1). [#91394](https://github.com/ClickHouse/ClickHouse/pull/91394) ([Azat Khuzhin](https://github.com/azat)).
* Ahora, las URL prefirmadas funcionan con S3. Cierra [#65032](https://github.com/ClickHouse/ClickHouse/issues/65032). [#90827](https://github.com/ClickHouse/ClickHouse/pull/90827) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* El índice de texto ahora funciona con tablas `ReplacingMergeTree`. [#90908](https://github.com/ClickHouse/ClickHouse/pull/90908) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Evitar exponer la versión del servidor ClickHouse en las respuestas de error HTTP devueltas antes de la autenticación. [#91003](https://github.com/ClickHouse/ClickHouse/pull/91003) ([filimonov](https://github.com/filimonov)).
* Ahora se lanzará la excepción `HTTP_CONNECTION_LIMIT_REACHED` cuando se alcance el `hard_limit` de las conexiones de los clientes HTTP. Está configurado en `20000` para las conexiones de disco. [#91016](https://github.com/ClickHouse/ClickHouse/pull/91016) ([Sema Checherinda](https://github.com/CheSema)).
* Se añade `system.background_schedule_pool{,_log}` para mejorar la introspección de las tareas en segundo plano. [#91157](https://github.com/ClickHouse/ClickHouse/pull/91157) ([Azat Khuzhin](https://github.com/azat)).
* Ahora puede comentar o descomentar rápidamente las líneas que tenga seleccionadas en ese momento en el editor de consultas de la interfaz web con `Ctrl+/` (o `Cmd+/` en Mac), lo que facilita desactivar temporalmente partes de la consulta mientras realiza pruebas. [#91160](https://github.com/ClickHouse/ClickHouse/pull/91160) ([Samuel K.](https://github.com/OpenGLShaders)).
* Añade `system.completions` a la lista de tablas accesibles en todo momento. [#91166](https://github.com/ClickHouse/ClickHouse/pull/91166) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se añaden los eventos de perfil `FailedInitialQuery` y `FailedInitialSelectQuery`. [#91172](https://github.com/ClickHouse/ClickHouse/pull/91172) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Se corrigió un posible problema de inanición del grupo de hilos al leer muestras de columnas en columnas JSON con muchas subcolumnas, respetando la configuración `merge_tree_use_prefixes_deserialization_thread_pool` en lugar de usar incondicionalmente el grupo de hilos. [#91208](https://github.com/ClickHouse/ClickHouse/pull/91208) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se añadió compatibilidad con el tipo `JSON` en `tupleElement`. Cierra [#81630](https://github.com/ClickHouse/ClickHouse/issues/81630). [#91327](https://github.com/ClickHouse/ClickHouse/pull/91327) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigieron errores de límite de memoria espurios cuando la caché de páginas en espacio de usuario está habilitada. [#91361](https://github.com/ClickHouse/ClickHouse/pull/91361) ([Michael Kolupaev](https://github.com/al13n321)).
* El tokenizador de ngrams ahora se puede construir con `ngram&#95;length = 1`. [#91529](https://github.com/ClickHouse/ClickHouse/pull/91529) ([George Larionov](https://github.com/george-larionov)).
* Se admiten configuraciones de almacenamiento dentro de las funciones en `INSERT INTO FUNCTION`, al igual que ya se admiten para `SELECT`. Cierra [#89386](https://github.com/ClickHouse/ClickHouse/issues/89386). [#91707](https://github.com/ClickHouse/ClickHouse/pull/91707) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Lanzar "not implemented" para la consulta TRUNCATE en lagos de datos, en lugar de no hacer nada en silencio. Cierra [#86604](https://github.com/ClickHouse/ClickHouse/issues/86604). [#91713](https://github.com/ClickHouse/ClickHouse/pull/91713) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se establece el tamaño máximo del mensaje en el lector Parquet v3 para evitar el error `DB::Exception: apache::thrift::transport::TTransportException: MaxMessageSize reached`. [#91737](https://github.com/ClickHouse/ClickHouse/pull/91737) ([Arthur Passos](https://github.com/arthurpassos)).
* Añade una configuración `insert_select_deduplicate`. Esto aclara mejor cómo gestionamos la deduplicación de inserción en `INSERT SELECT`. En general, no es posible realizar la deduplicación para este tipo de consultas, pero si la tabla no cambia y el resultado está ordenado, entonces sí es posible deduplicar en un reintento. No podíamos rastrear que el origen fuera el mismo. Pero sí podíamos comprobar que el resultado de la consulta `SELECT` estuviera ordenado. En realidad, resultó que en el caso general es realmente difícil de comprobar, pero el caso sencillo con `ORDER BY ALL` es fácil. Ahora mismo, la lógica aquí está rota. Intentamos deduplicar, pero en la mayoría de los casos simplemente no detecta duplicados entre los bloques porque `SELECT` devuelve datos distintos. [#91830](https://github.com/ClickHouse/ClickHouse/pull/91830) ([Sema Checherinda](https://github.com/CheSema)).
* Permitir la conversión implícita de tipos al convertir `Array` a `QBit`. Los arrays de enteros y de coma flotante ahora pueden insertarse directamente en columnas `QBit` sin conversiones de tipo explícitas. [#91846](https://github.com/ClickHouse/ClickHouse/pull/91846) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se añade un límite al tamaño de los mensajes `CapnProto`. Puede cambiarse con `format_capn_proto_max_message_size`. [#91888](https://github.com/ClickHouse/ClickHouse/pull/91888) ([Antonio Andelic](https://github.com/antonio2368)).
* Ajusta las métricas de la caché de marcas para que rastreen solo las consultas (después de [#83415](https://github.com/ClickHouse/ClickHouse/issues/83415), `MarkCacheHits`/`MarkCacheMisses` también se actualizaban para las fusiones; este PR revierte ese comportamiento). [#91910](https://github.com/ClickHouse/ClickHouse/pull/91910) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige que `client_info.interface` se configure como `TCP` para las conexiones locales. [#91933](https://github.com/ClickHouse/ClickHouse/pull/91933) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* El parámetro `refresh_certificates_task_interval` de la configuración del cliente ACME ahora espera un valor expresado en segundos. [#92211](https://github.com/ClickHouse/ClickHouse/pull/92211) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Registrar en `system.part_log` los eventos de partes de `system.*_log`. [#92217](https://github.com/ClickHouse/ClickHouse/pull/92217) ([Azat Khuzhin](https://github.com/azat)).

#### corrección de error (fallo visible para el usuario en una versión estable oficial)

* Corrige algunos errores en PREWHERE relacionados con los supertipos de los tipos de datos `Time` y `Time64`. Resuelve [#84544](https://github.com/ClickHouse/ClickHouse/issues/84544). [#84715](https://github.com/ClickHouse/ClickHouse/pull/84715) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Inicializar `DNSResolver` antes de usarlo para tener en cuenta los ajustes personalizados. Corrige [#76296](https://github.com/ClickHouse/ClickHouse/issues/76296). [#81302](https://github.com/ClickHouse/ClickHouse/pull/81302) ([Zhigao Hong](https://github.com/zghong)).
* Corrige la lectura de subcolumnas de una columna con un punto en el nombre en determinados casos. Resuelve [#81261](https://github.com/ClickHouse/ClickHouse/issues/81261), [#82058](https://github.com/ClickHouse/ClickHouse/issues/82058), [#88169](https://github.com/ClickHouse/ClickHouse/issues/88169). [#87205](https://github.com/ClickHouse/ClickHouse/pull/87205) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el bloqueo del motor GenerateRandom con parámetros no literales: ahora devuelve BAD\_ARGUMENTS con un mensaje claro en lugar de LOGICAL\_ERROR. [#88157](https://github.com/ClickHouse/ClickHouse/pull/88157) ([Shafi Ahmed](https://github.com/ita004)).
* Se corrige la eliminación de columnas de proyección no utilizadas cuando hay `UNION`. Corrige [#88180](https://github.com/ClickHouse/ClickHouse/issues/88180). [#88350](https://github.com/ClickHouse/ClickHouse/pull/88350) ([Sema Checherinda](https://github.com/CheSema)).
* Se corrigió la segmentación incorrecta en la optimización de `JOIN` cuando la clave primaria está ordenada en orden descendente. Resuelve [#88512](https://github.com/ClickHouse/ClickHouse/issues/88512). [#88794](https://github.com/ClickHouse/ClickHouse/pull/88794) ([Amos Bird](https://github.com/amosbird)).
* Se vuelve a habilitar s3queue\_keeper\_fault\_injection\_probablility y se corrigen problemas. [#88800](https://github.com/ClickHouse/ClickHouse/pull/88800) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigieron varios problemas causados por la eliminación prematura de columnas en TTL. Corrige [#88002](https://github.com/ClickHouse/ClickHouse/issues/88002). [#88860](https://github.com/ClickHouse/ClickHouse/pull/88860) ([Amos Bird](https://github.com/amosbird)).
* Lanza una excepción cuando temporary\_files\_buffer\_size se establece en 0. Resuelve [#88900](https://github.com/ClickHouse/ClickHouse/issues/88900). [#88917](https://github.com/ClickHouse/ClickHouse/pull/88917) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige el error `Bad get` que se producía durante el análisis del índice `Set` cuando el predicado contenía la constante `NULL`. Corrige [#84856](https://github.com/ClickHouse/ClickHouse/issues/84856) y [#82974](https://github.com/ClickHouse/ClickHouse/issues/82974). [#89429](https://github.com/ClickHouse/ClickHouse/pull/89429) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige `Cannot add subcolumn X.Y: column with this name already exists`. Se resuelve [#89599](https://github.com/ClickHouse/ClickHouse/issues/89599). [#89602](https://github.com/ClickHouse/ClickHouse/pull/89602) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigieron errores en las funciones `theilsU` y `contingency` que provocaban resultados incorrectos. [#89760](https://github.com/ClickHouse/ClickHouse/pull/89760) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrigen problemas de estabilidad de Alias: se corrige StrictnessLevel con SharedDatabaseCatalog, se impide que el destino también sea un alias y se implementan métodos adicionales (getSerializationHints, supportsReplication, getStoragePolicy, totalBytesUncompressed, lifetimeRows, lifetimeBytes, storesDataOnDisk, tryLockForShare, lockForShare). Resuelve [#89106](https://github.com/ClickHouse/ClickHouse/issues/89106). [#89812](https://github.com/ClickHouse/ClickHouse/pull/89812) ([Kai Zhu](https://github.com/nauu)).
* Corrige un posible fallo durante una consulta remota con `ARRAY JOIN` dentro de `IN` y con la configuración `enable_lazy_columns_replication` activada. Resuelve [#90361](https://github.com/ClickHouse/ClickHouse/issues/90361). [#89997](https://github.com/ClickHouse/ClickHouse/pull/89997) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un posible error lógico al usar `analyzer_compatibility_join_using_top_level_identifier` con varias cláusulas JOIN. [#90010](https://github.com/ClickHouse/ClickHouse/pull/90010) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige, en algunos casos, la inferencia de valores DateTime64 no válidos a partir de Strings en formatos de texto. Resuelve [#89368](https://github.com/ClickHouse/ClickHouse/issues/89368). [#90013](https://github.com/ClickHouse/ClickHouse/pull/90013) ([Pavel Kruglov](https://github.com/Avogar)).
* Se realizan comprobaciones de tamaño al deserializar datos de estados de agregación y otras fuentes. [#90031](https://github.com/ClickHouse/ClickHouse/pull/90031) ([Raúl Marín](https://github.com/Algunenano)).
* Se dividen los rangos de partes según las características del volumen para habilitar merges de eliminación por TTL en volúmenes fríos. Después de este parche, las partes con un TTL máximo \< now se eliminarán del almacenamiento en frío. El algoritmo programará solo **eliminaciones de una sola parte**. [#90059](https://github.com/ClickHouse/ClickHouse/pull/90059) ([Mikhail Artemenko](https://github.com/Michicosun)).
* En caso de que la tabla de Kafka se hubiera creado con la configuración `kafka_handle_error_mode = 'dead_letter_queue'` y la tabla `system.dead_letter_queue` no estuviera configurada, el servidor podía fallar. Este comportamiento ya se ha corregido. Resuelve [#87573](https://github.com/ClickHouse/ClickHouse/issues/87573). [#90064](https://github.com/ClickHouse/ClickHouse/pull/90064) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrigió un posible error `Column with Array type is not represented by ColumnArray column: Replicated` durante la inserción al usar `ARRAY JOIN` con la configuración `enable_lazy_columns_replication` habilitada. [#90066](https://github.com/ClickHouse/ClickHouse/pull/90066) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un fallo durante el cierre limpio del servidor debido a un orden de destrucción incorrecto. Resuelve [#82420](https://github.com/ClickHouse/ClickHouse/issues/82420). [#90076](https://github.com/ClickHouse/ClickHouse/pull/90076) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Corrige un error lógico y un error en la operación de módulo de la tabla del sistema `numbers` cuando se utiliza un tamaño de paso grande. Cierra [#83398](https://github.com/ClickHouse/ClickHouse/issues/83398). [#90123](https://github.com/ClickHouse/ClickHouse/pull/90123) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrige un problema en la escritura de Parquet que no conservaba el orden original al usar escritura de un solo hilo con el escritor nativo. Revierte parcialmente [https://github.com/ClickHouse/ClickHouse/pull/64424/files](https://github.com/ClickHouse/ClickHouse/pull/64424/files). [#90126](https://github.com/ClickHouse/ClickHouse/pull/90126) ([Arthur Passos](https://github.com/arthurpassos)).
* No aplicar la optimización de nodos constantes a la expresión LIMIT/OFFSET. Corrige [#89607](https://github.com/ClickHouse/ClickHouse/issues/89607). [#90156](https://github.com/ClickHouse/ClickHouse/pull/90156) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige la incompatibilidad con el particionamiento de Hive que impedía una actualización fluida en la versión 25.8 (soluciona el error `All hive partitioning columns must be present in the schema` durante la actualización). [#90202](https://github.com/ClickHouse/ClickHouse/pull/90202) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige una excepción de JSON en una tabla Iceberg con una columna timestamp al usar el catálogo de Glue. Resuelve [#90210](https://github.com/ClickHouse/ClickHouse/issues/90210). [#90209](https://github.com/ClickHouse/ClickHouse/pull/90209) ([Alsu Giliazova](https://github.com/alsugiliazova)).
* Corrige una discrepancia en el recuento de filas en MergeTreeReaderIndex cuando la parte tiene menos filas que index\_granularity. Resuelve [#89691](https://github.com/ClickHouse/ClickHouse/issues/89691). [#90254](https://github.com/ClickHouse/ClickHouse/pull/90254) ([Peng Jian](https://github.com/fastio)).
* Corrige una consulta infinita con `nan`/`inf` y `WITH FILL`. Resuelve [#69261](https://github.com/ClickHouse/ClickHouse/issues/69261). [#90255](https://github.com/ClickHouse/ClickHouse/pull/90255) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrige el error 'column not found' al usar query\_plan\_use\_logical\_join\_step=0 y una condición residual en JOIN ON. Resuelve [#88635](https://github.com/ClickHouse/ClickHouse/issues/88635). [#90279](https://github.com/ClickHouse/ClickHouse/pull/90279) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige algunas consultas con optimización de proyecciones agregadas. [#90288](https://github.com/ClickHouse/ClickHouse/pull/90288) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se corrige un error al leer subcolumnas de JSON en partes compactas que podía provocar el error `CANNOT_READ_ALL_DATA`. Resuelve [#90264](https://github.com/ClickHouse/ClickHouse/issues/90264). [#90302](https://github.com/ClickHouse/ClickHouse/pull/90302) ([Pavel Kruglov](https://github.com/Avogar)).
* Ahora ClickHouse no usará la optimización de lectura en orden para Iceberg si los archivos de manifiesto no especifican el criterio de ordenación (o este no coincide) con `default_sort_order` de la tabla. Corrige [#89178](https://github.com/ClickHouse/ClickHouse/issues/89178). [#90304](https://github.com/ClickHouse/ClickHouse/pull/90304) ([alesapin](https://github.com/alesapin)).
* Time y Time64 ahora deberían respetar correctamente las zonas horarias al convertir desde DateTime y DateTime64 (deben mostrar la hora en la misma zona horaria en la que se muestra al usuario como DateTime\[64]). Cierra [#89896](https://github.com/ClickHouse/ClickHouse/issues/89896). [#90310](https://github.com/ClickHouse/ClickHouse/pull/90310) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige un error por el que `SELECT CAST(CAST(now(), 'Time'), 'Time64')` generaba un resultado incorrecto. Cierra [#88349](https://github.com/ClickHouse/ClickHouse/issues/88349). [#90324](https://github.com/ClickHouse/ClickHouse/pull/90324) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrigió un cierre inesperado por desbordamiento de enteros en randomStringUTF8. [#90326](https://github.com/ClickHouse/ClickHouse/pull/90326) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigieron las actualizaciones del descubrimiento de clústeres en configuraciones multiclúster con `multicluster_root_path` para evitar retrasos y la pérdida de actualizaciones de ZooKeeper. [#90341](https://github.com/ClickHouse/ClickHouse/pull/90341) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Corrige un posible error lógico al usar prewhere con una ruta JSON inexistente y index\_granularity\_bytes=0. Resuelve [#86924](https://github.com/ClickHouse/ClickHouse/issues/86924). [#90375](https://github.com/ClickHouse/ClickHouse/pull/90375) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un error en `L2DistanceTransposed` que provocaba cierres inesperados cuando el argumento `precision` superaba el rango válido. Cierra [#90401](https://github.com/ClickHouse/ClickHouse/issues/90401). [#90405](https://github.com/ClickHouse/ClickHouse/pull/90405) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Corrige un posible error lógico en `arrayUnion` con el argumento `Array(Dynamic)`. Resuelve [#90270](https://github.com/ClickHouse/ClickHouse/issues/90270). [#90409](https://github.com/ClickHouse/ClickHouse/pull/90409) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un posible error lógico al renombrar y modificar la misma columna Nested en una misma instrucción ALTER. Resuelve [#90406](https://github.com/ClickHouse/ClickHouse/issues/90406). [#90412](https://github.com/ClickHouse/ClickHouse/pull/90412) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige el análisis de valores JSON/Dynamic/Variant desde parámetros HTTP. Resuelve [#88925](https://github.com/ClickHouse/ClickHouse/issues/88925). [#90430](https://github.com/ClickHouse/ClickHouse/pull/90430) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió una condición de carrera en el particionamiento de Hive, donde un `KeyValuePairExtractor` estático provocaba corrupción de datos o fallos durante lecturas concurrentes de archivos. [#90474](https://github.com/ClickHouse/ClickHouse/pull/90474) ([Paresh Joshi](https://github.com/pareshjoshij)).
* Se corrigieron los cálculos de distancia incorrectos en `L2DistanceTransposed` al usar vectores de referencia de tipo array (que, de forma predeterminada, son `Array(Float64))`) con columnas `QBit` de tipos de elemento distintos de `Float64` (`Float32`, `BFloat16`). La función ahora convierte automáticamente el vector de referencia para que coincida con el tipo de elemento de `QBit`. Resuelve [#89976](https://github.com/ClickHouse/ClickHouse/issues/89976). [#90485](https://github.com/ClickHouse/ClickHouse/pull/90485) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Corrige un error por el cual `toDateTimeOrNull` con un argumento negativo devuelve NULL. [#90490](https://github.com/ClickHouse/ClickHouse/pull/90490) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige un posible error lógico durante la generación de la salida de `LowCardinality(Bool/Date32)` en formato `Arrow`. Resuelve [#83883](https://github.com/ClickHouse/ClickHouse/issues/83883). [#90505](https://github.com/ClickHouse/ClickHouse/pull/90505) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigieron las funciones de análisis de IPv4 (p. ej., `IPv4StringToNumOrDefault`) que devolvían resultados incorrectos con algunas entradas no válidas. Soluciona [#90544](https://github.com/ClickHouse/ClickHouse/issues/90544). Soluciona [#87583](https://github.com/ClickHouse/ClickHouse/issues/87583). [#90545](https://github.com/ClickHouse/ClickHouse/pull/90545) ([Michael Kolupaev](https://github.com/al13n321)).
* Reintentar `markReplicasActive` cuando falla la resolución de la dirección durante la comprobación del host local: Registra una advertencia si se produce una excepción durante la comprobación del propio host en `DDLTask`. En `DDLWorker::markReplicasActive`, lanza una excepción para volver a intentarlo si no se encuentra ningún host local y hay ID de host en los clústeres. [#90556](https://github.com/ClickHouse/ClickHouse/pull/90556) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige un error lógico provocado por un caso poco frecuente en la función `equals`. Cierra [#88142](https://github.com/ClickHouse/ClickHouse/issues/88142). [#90557](https://github.com/ClickHouse/ClickHouse/pull/90557) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se espera que corrija los fallos del sanitizador de hilos en `test_ssh/test.py::test_paramiko_password`. [#90612](https://github.com/ClickHouse/ClickHouse/pull/90612) ([Govind R Nair](https://github.com/Revertionist)).
* Corrige un error lógico en la función `concatWithSeparator` al usar una columna constante de un tipo distinto de cadena. Cierra [#90596](https://github.com/ClickHouse/ClickHouse/issues/90596). [#90655](https://github.com/ClickHouse/ClickHouse/pull/90655) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige el formateo de `INTO OUTFILE`. Resuelve [#90207](https://github.com/ClickHouse/ClickHouse/issues/90207). [#90656](https://github.com/ClickHouse/ClickHouse/pull/90656) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un posible cierre inesperado al ejecutar mutaciones con subconsultas y `allow_statistics_optimize=1`. Resuelve [#90626](https://github.com/ClickHouse/ClickHouse/issues/90626). [#90664](https://github.com/ClickHouse/ClickHouse/pull/90664) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió la validación del analizador de `LIMIT BY` con `GROUP BY` para que devuelva el error `NOT_AN_AGGREGATE` correcto en lugar de `NOT_FOUND_COLUMN_IN_BLOCK` cuando `LIMIT BY` usa columnas que no están en `GROUP BY`. Cierra [#89713](https://github.com/ClickHouse/ClickHouse/issues/89713). [#90665](https://github.com/ClickHouse/ClickHouse/pull/90665) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Corrige errores de conversión de tipos al usar columnas `LowCardinality` en las claves de partición. Cierra [#89412](https://github.com/ClickHouse/ClickHouse/issues/89412). [#90666](https://github.com/ClickHouse/ClickHouse/pull/90666) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrigió un problema por el que las consultas con predicados de filtro que contenían constantes derivadas de funciones no deterministas (p. ej., `shardNum()`) podían usar incorrectamente la caché de condiciones de consulta. [#90692](https://github.com/ClickHouse/ClickHouse/pull/90692) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige un fallo de segmentación en una consulta con la función EXISTS en la sección ON de JOIN. Ahora la consulta simplemente devuelve el error `INVALID_JOIN_ON_EXPRESSION`. Cierra [#90698](https://github.com/ClickHouse/ClickHouse/issues/90698). [#90719](https://github.com/ClickHouse/ClickHouse/pull/90719) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corregido el error lógico: 'Formato del AST inconsistente' para AccessRightsElement al usar la base de datos predeterminada sin ninguna tabla. [#90742](https://github.com/ClickHouse/ClickHouse/pull/90742) ([Pablo Marcos](https://github.com/pamarcos)).
* Corrige la validación de acceso para las consultas `ALTER UPDATE` cuando se usa una función de tabla `remote` con `localhost` como host de destino. [#90761](https://github.com/ClickHouse/ClickHouse/pull/90761) ([pufit](https://github.com/pufit)).
* Corregidos los secretos ocultos de las named collections para que dependan de `display_secrets_in_show_and_select` y `format_display_secrets_in_show_and_select`. [#90765](https://github.com/ClickHouse/ClickHouse/pull/90765) ([Pablo Marcos](https://github.com/pamarcos)).
* Se deshabilita `enable_shared_storage_snapshot_in_query` (provoca fugas de memoria). [#90770](https://github.com/ClickHouse/ClickHouse/pull/90770) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el problema de duplicación de datos en RIGHT JOIN con una tabla distribuida cuando las réplicas paralelas están habilitadas. [#90806](https://github.com/ClickHouse/ClickHouse/pull/90806) ([zoomxi](https://github.com/zoomxi)).
* Se corrige un posible estado incoherente de los datos compartidos y las rutas dinámicas en JSON que podría provocar errores lógicos y resultados inesperados. [#90816](https://github.com/ClickHouse/ClickHouse/pull/90816) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige ALTER MODIFY QUERY con dictGet() y el nombre del diccionario en CSE para SharedCatalog (funcionalidad solo de Cloud). [#90860](https://github.com/ClickHouse/ClickHouse/pull/90860) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la compatibilidad de la serialización en memoria del estado de agregación de String. Una serialización distinta podría provocar resultados duplicados si una consulta de agregación se ejecuta en instancias con versiones distintas. La nueva serialización puede habilitarse con `serialize_string_in_memory_with_zero_byte`. [#90880](https://github.com/ClickHouse/ClickHouse/pull/90880) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el vaciado en segundo plano de Buffer en caso de operaciones INSERT frecuentes. [#90892](https://github.com/ClickHouse/ClickHouse/pull/90892) ([Azat Khuzhin](https://github.com/azat)).
* No incluir la carpeta padre contrib/ en system.licenses. [#90901](https://github.com/ClickHouse/ClickHouse/pull/90901) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el elevado uso de memoria durante la lectura de columnas JSON/Dynamic/Variant. [#90907](https://github.com/ClickHouse/ClickHouse/pull/90907) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la asignación del búfer para la función base58Decode. [#90909](https://github.com/ClickHouse/ClickHouse/pull/90909) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige un posible error lógico al recibir otra solicitud de lectura de una réplica después de enviar una respuesta con el indicador `finish=true`. Esto podía ocurrir debido a una condición de carrera lógica en `MergeTreeReadPoolParallelReplicas`, aunque era muy poco probable. [#90921](https://github.com/ClickHouse/ClickHouse/pull/90921) ([Nikita Taranov](https://github.com/nickitat)).
* Corregida la comprobación de los permisos con comodines para la revocación parcial. Se añadieron más pruebas. [#90922](https://github.com/ClickHouse/ClickHouse/pull/90922) ([pufit](https://github.com/pufit)).
* Corrige la agregación de `SummingMergeTree` en columnas `Nested` `LowCardinality`. [#90927](https://github.com/ClickHouse/ClickHouse/pull/90927) ([Ivan Babrou](https://github.com/bobrik)).
* Corrige la gestión de los permisos globales con revocaciones mediante comodines. Soluciona el problema por el que revocar un permiso con comodín puede eliminar accidentalmente algunos permisos de nivel global, como `CREATE USER`. [#90928](https://github.com/ClickHouse/ClickHouse/pull/90928) ([pufit](https://github.com/pufit)).
* Corrige un posible bucle infinito al listar blobs en Azure. [#90947](https://github.com/ClickHouse/ClickHouse/pull/90947) ([Julia Kartseva](https://github.com/jkartseva)).
* Corregir los flushes excesivos de Buffer (consumen CPU y generan muchísimos logs). [#91000](https://github.com/ClickHouse/ClickHouse/pull/91000) ([Azat Khuzhin](https://github.com/azat)).
* ... No permitir que adaptive\_write\_buffer\_initial\_size sea 0. [#91001](https://github.com/ClickHouse/ClickHouse/pull/91001) ([Pedro Ferreira](https://github.com/PedroTadim)).
* Se corrigió un error en JSON cuando una ruta podía estar tanto en los datos compartidos como en las rutas dinámicas durante la lectura de subobjetos en partes compactas con `write_marks_for_substreams_in_compact_parts` deshabilitado. [#91014](https://github.com/ClickHouse/ClickHouse/pull/91014) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige el error std::out\_of\_range en CTE con dictGet sin argumentos. Cierra [#91027](https://github.com/ClickHouse/ClickHouse/issues/91027). [#91022](https://github.com/ClickHouse/ClickHouse/pull/91022) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige la lectura de subcolumnas dinámicas desde columnas materializadas en las mutaciones. Cierra [#90653](https://github.com/ClickHouse/ClickHouse/issues/90653). [#91040](https://github.com/ClickHouse/ClickHouse/pull/91040) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un problema por el que la función `arrayFilter` no funcionaba al usar un array vacío y la función `isNull`. Cierra [#73849](https://github.com/ClickHouse/ClickHouse/issues/73849). [#91105](https://github.com/ClickHouse/ClickHouse/pull/91105) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige un error lógico en `ARRAY JOIN` cuando una de las columnas de la tabla es de tipo tupla vacía. Cierra [#90801](https://github.com/ClickHouse/ClickHouse/issues/90801). [#91123](https://github.com/ClickHouse/ClickHouse/pull/91123) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrigió la materialización diferida de una columna añadida mediante alter add column en partes antiguas. [#91142](https://github.com/ClickHouse/ClickHouse/pull/91142) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la fusión de columnas JSON en Summing/Aggregating/Coalescing MergeTree. Anteriormente, esto podía provocar rutas dinámicas inesperadas durante la escritura en partes de datos. [#91151](https://github.com/ClickHouse/ClickHouse/pull/91151) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige una posible inconsistencia en la estructura dinámica durante la escritura en partes compactas que podía provocar un segfault. [#91152](https://github.com/ClickHouse/ClickHouse/pull/91152) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el análisis de valores de coma flotante subnormales en notación científica. Cierra [#78903](https://github.com/ClickHouse/ClickHouse/issues/78903). [#91162](https://github.com/ClickHouse/ClickHouse/pull/91162) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige la inferencia incorrecta del esquema en INSERT SELECT desde una subconsulta con una fuente con esquema implícito. [#91204](https://github.com/ClickHouse/ClickHouse/pull/91204) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige [https://github.com/clickhouse/clickhouse/issues/91206](https://github.com/clickhouse/clickhouse/issues/91206): cuando creamos una tabla con estadísticas, escribimos datos y eliminamos una de las estadísticas, se producía un fallo al volver a leerla. Esto ocurría porque asumíamos que `serialize` y `deserialize` tendrían estadísticas de los mismos tipos. En esta corrección, comprobamos si los metadatos actuales contienen las estadísticas serializadas; si no, creamos una estadística ficticia y deserializamos solo para omitirla. [#91227](https://github.com/ClickHouse/ClickHouse/pull/91227) ([Han Fei](https://github.com/hanfei1991)).
* Se corrige un problema al insertar en una columna de CoalescingMergeTree con Tuple de JSON/Dynamic y LowCardinality. Cierra [#91215](https://github.com/ClickHouse/ClickHouse/issues/91215). [#91270](https://github.com/ClickHouse/ClickHouse/pull/91270) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige SYSTEM DROP FILESYSTEM CACHE ON CLUSTER. [#91304](https://github.com/ClickHouse/ClickHouse/pull/91304) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Corrige un posible error de lógica "Bad cast from type DB::ColumnSparse to DB::ColumnNullable". Cierra [#91284](https://github.com/ClickHouse/ClickHouse/issues/91284). [#91309](https://github.com/ClickHouse/ClickHouse/pull/91309) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un fallo por el que secuencias de bytes manipuladas maliciosamente podían deserializarse en tipos QBit anidados, algo que debería ser imposible, pero que podía explotarse para provocar una caída del servidor. [#91313](https://github.com/ClickHouse/ClickHouse/pull/91313) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se corrige la tabla de alias con argumentos vacíos en la base de datos Replicated. Resuelto [#91378](https://github.com/ClickHouse/ClickHouse/issues/91378). [#91382](https://github.com/ClickHouse/ClickHouse/pull/91382) ([Kai Zhu](https://github.com/nauu)).
* Actualmente, la configuración está establecida en false, por lo que, cuando la cola de async insert se descarga en un servidor remoto, las inserciones siempre son sincrónicas, incluso si la configuración es True para un usuario. [#91386](https://github.com/ClickHouse/ClickHouse/pull/91386) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Eliminar columnas dispersas del encabezado en los algoritmos de fusión. Cierra [#91377](https://github.com/ClickHouse/ClickHouse/issues/91377). [#91396](https://github.com/ClickHouse/ClickHouse/pull/91396) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error de particionamiento de Hive en 25.8 que puede hacer que se lance incorrectamente la excepción `A hive partitioned file can't contain only partition columns`. [#91403](https://github.com/ClickHouse/ClickHouse/pull/91403) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un fallo en `dictGetDescendants` provocado por `NULL` cuando el tipo de diccionario admite jerarquía, pero ninguna columna es `HIERARCHICAL`. Cierra [#92026](https://github.com/ClickHouse/ClickHouse/issues/92026). Cierra [#92121](https://github.com/ClickHouse/ClickHouse/issues/92121). [#91420](https://github.com/ClickHouse/ClickHouse/pull/91420) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrige un fallo en la función `IN` cuando se usan argumentos lambda y de tupla no constantes. Cierra [#91379](https://github.com/ClickHouse/ClickHouse/issues/91379). [#91446](https://github.com/ClickHouse/ClickHouse/pull/91446) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrigieron las escrituras paralelas provocadas por inserciones de MaterializedView en motores de almacenamiento que no las admiten. [#91449](https://github.com/ClickHouse/ClickHouse/pull/91449) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Gestión de valores NULL para los diccionarios XML de Ytsaurus. [#91465](https://github.com/ClickHouse/ClickHouse/pull/91465) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se corrigió el problema del tipo `QBit` que fallaba con parámetros de consulta como `SET param_q=[1,2,3,4]; SELECT {q:QBit(Float32,4)}`. [#91488](https://github.com/ClickHouse/ClickHouse/pull/91488) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se corrige LOGICAL\_ERROR al usar untuple en una expresión constante. [#91507](https://github.com/ClickHouse/ClickHouse/pull/91507) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige una posible condición de carrera en `librdkafka`. [#91521](https://github.com/ClickHouse/ClickHouse/pull/91521) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Corrige un error lógico causado por el argumento de asteriscos en la función `remote`. Cierra [#90568](https://github.com/ClickHouse/ClickHouse/issues/90568). [#91524](https://github.com/ClickHouse/ClickHouse/pull/91524) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige un desbordamiento al leer el formato ORC para los tipos Date y DateTime64. Cierra [#70976](https://github.com/ClickHouse/ClickHouse/issues/70976). [#91572](https://github.com/ClickHouse/ClickHouse/pull/91572) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se deshabilitan los ALTERs para los motores de tabla de Object Storage. Por ejemplo, ALTER ADD PROJECTION podría haber impedido reiniciar el servidor, ya que los motores de Object Storage no admiten proyecciones. [#91573](https://github.com/ClickHouse/ClickHouse/pull/91573) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió un problema por el que [`L2DistanceTransposed`](/es/reference/functions/regular-functions/distance-functions#L2DistanceTransposed) devolvía resultados incorrectos al usar vectores de referencia no constantes (p. ej., de una tabla). [#91517](https://github.com/ClickHouse/ClickHouse/issues/91517). [#91593](https://github.com/ClickHouse/ClickHouse/pull/91593) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Corrige un error en JOINs con condiciones FALSE que devolvían `LOGICAL_ERROR` durante una etapa de despacho. Cierra [#91173](https://github.com/ClickHouse/ClickHouse/issues/91173). [#91598](https://github.com/ClickHouse/ClickHouse/pull/91598) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrige el aumento del uso de memoria en join con "filtro adicional" y se cierra [#91011](https://github.com/ClickHouse/ClickHouse/issues/91011). [#91664](https://github.com/ClickHouse/ClickHouse/pull/91664) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige las consultas JOIN que usan una vista y réplicas paralelas habilitadas. [#91813](https://github.com/ClickHouse/ClickHouse/pull/91813) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrige la configuración de Delta Lake `delta_lake_snapshot_version`, que podía devolver un resultado incorrecto al usarse con el motor de tabla (no con la función de tabla) y el valor -1 (deshabilitado) después de haber usado previamente una versión de snapshot. Cierra [#87676](https://github.com/ClickHouse/ClickHouse/issues/87676). [#91818](https://github.com/ClickHouse/ClickHouse/pull/91818) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió LOGICAL\_ERROR en RecursiveCTEChunkGenerator. [#91827](https://github.com/ClickHouse/ClickHouse/pull/91827) ([Pablo Marcos](https://github.com/pamarcos)).
* Corrige un desajuste en la estructura de bloques en consultas que usan FINAL y PREWHERE. [#91847](https://github.com/ClickHouse/ClickHouse/pull/91847) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige el error lógico con `join_use_nulls` y varios joins junto con un cross join. [#91853](https://github.com/ClickHouse/ClickHouse/pull/91853) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se agregó un mecanismo de reparación para JSON con una ruta duplicada en datos compartidos y rutas dinámicas, lo que podía ocurrir debido al error corregido en [https://github.com/ClickHouse/ClickHouse/pull/90816](https://github.com/ClickHouse/ClickHouse/pull/90816). [#91886](https://github.com/ClickHouse/ClickHouse/pull/91886) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige el fallo del lector ORC al leer columnas de cadena codificadas con DICTIONARY\_V2 que contienen únicamente valores NULL. [#91889](https://github.com/ClickHouse/ClickHouse/pull/91889) ([Peng Jian](https://github.com/fastio)).
* Se corrige una inconsistencia de serialización entre subflujos dispersos y que admiten NULL en columnas Tuple que podía provocar partes corruptas o fallos durante la lectura. Esto corrige [https://github.com/ClickHouse/ClickHouse/pull/91851](https://github.com/ClickHouse/ClickHouse/pull/91851). @Algunenano, ¿podrías ayudar a comprobar si esto puede corregir la prueba de estrés en el repositorio privado? @CurtizJ, ¿podrías también echarle un vistazo, por favor? ¡Gracias! [#91932](https://github.com/ClickHouse/ClickHouse/pull/91932) ([Amos Bird](https://github.com/amosbird)).
* Se corrige `Directory '{}' does not exist (LOGICAL_ERROR)` al crear copias de seguridad en discos reescribibles simples. [#91935](https://github.com/ClickHouse/ClickHouse/pull/91935) ([Julia Kartseva](https://github.com/jkartseva)).
* Evita un cierre inesperado al conectarse a MongoDB con named collections. [#91959](https://github.com/ClickHouse/ClickHouse/pull/91959) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige el error "TOO\_MANY\_MARKS", que podía producirse tras algunas consultas `ALTER` sobre partes compactas. [#91980](https://github.com/ClickHouse/ClickHouse/pull/91980) ([alesapin](https://github.com/alesapin)).
* Se cierra [https://github.com/clickhouse/clickhouse/issues/87417](https://github.com/clickhouse/clickhouse/issues/87417): el esquema de escritura del formato v1 tiene un error; el tipo de "added\_snapshot\_id" debería ser "long" en lugar de "null, long" porque es obligatorio. Es un error porque no es compatible con otros sistemas como Spark. Cuando se mezclan sus archivos manifest, se produce el error. [#92078](https://github.com/ClickHouse/ClickHouse/pull/92078) ([Han Fei](https://github.com/hanfei1991)).
* Se corrigieron los nombres incorrectos de `readWKT` y `readWKB`, que tenían un estilo inadecuado en versiones anteriores. [#92094](https://github.com/ClickHouse/ClickHouse/pull/92094) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige numerosos errores lógicos, errores de desbordamiento y fallos funcionales en la función `midpoint`. Cierra [#91816](https://github.com/ClickHouse/ClickHouse/issues/91816). [#92102](https://github.com/ClickHouse/ClickHouse/pull/92102) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige resultados incorrectos que podían aparecer al leer determinadas subcolumnas (p. ej., el tamaño de una cadena) con codificación dispersa. [#92156](https://github.com/ClickHouse/ClickHouse/pull/92156) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el fallo de `system.view_refreshes` que producía el error `No macro 'replica' in config`. [#92203](https://github.com/ClickHouse/ClickHouse/pull/92203) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige Replace de UDF en format. [#92210](https://github.com/ClickHouse/ClickHouse/pull/92210) ([Raúl Marín](https://github.com/Algunenano)).
* En `ddlworker::markreplicasactive`, si no se encuentra ningún host activo y `remote_servers` tiene algunos host\_ids, registramos una advertencia en el log en lugar de lanzar una excepción. [#92223](https://github.com/ClickHouse/ClickHouse/pull/92223) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Encierre entre paréntesis los operadores `IN`, `NOT IN`. Soluciona [#85075](https://github.com/ClickHouse/ClickHouse/issues/85075). [#92225](https://github.com/ClickHouse/ClickHouse/pull/92225) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Corrige la copia de seguridad de las tablas KeeperMap y Memory. Crear una copia de seguridad de tablas que usan uno de esos dos motores con `max_compress_block_size` establecido en `0` podía provocar un cierre inesperado. [#92237](https://github.com/ClickHouse/ClickHouse/pull/92237) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige un bloqueo al leer tanto datos de tipo String como la subcolumna .size del motor Log. Esto soluciona [#89909](https://github.com/ClickHouse/ClickHouse/issues/89909). Esto incluye algunos commits de [#92290](https://github.com/ClickHouse/ClickHouse/issues/92290). [#92341](https://github.com/ClickHouse/ClickHouse/pull/92341) ([Amos Bird](https://github.com/amosbird)).
* Corrige un error lógico causado por el uso del tipo `Nothing` en los argumentos de la función `caseWithExpression`. Cierra [#85354](https://github.com/ClickHouse/ClickHouse/issues/85354). [#92351](https://github.com/ClickHouse/ClickHouse/pull/92351) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige un posible cierre inesperado en las funciones de agregación tras MEMORY\_LIMIT\_EXCEEDED. [#92390](https://github.com/ClickHouse/ClickHouse/pull/92390) ([Azat Khuzhin](https://github.com/azat)).

#### mejora de compilación/pruebas/empaquetado

* Usar `clang-21` en CI. [#87074](https://github.com/ClickHouse/ClickHouse/pull/87074) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Evitar las descargas desde cmake durante la compilación cruzada. [#90506](https://github.com/ClickHouse/ClickHouse/pull/90506) ([Raúl Marín](https://github.com/Algunenano)).

<div id="2511">
  ### Versión de ClickHouse 25.11, 2025-11-27
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se elimina el tipo `Object`, que está obsoleto. [#85718](https://github.com/ClickHouse/ClickHouse/pull/85718) ([Pavel Kruglov](https://github.com/Avogar)).
* Se elimina la funcionalidad `LIVE VIEW`, que ha quedado obsoleta. Si usa `LIVE VIEW`, no será posible actualizar a la nueva versión. [#88706](https://github.com/ClickHouse/ClickHouse/pull/88706) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* En versiones anteriores, el tipo `Geometry` era un alias de `String`, pero ahora es un tipo plenamente funcional. [#83344](https://github.com/ClickHouse/ClickHouse/pull/83344) ([scanhex12](https://github.com/scanhex12)).
* Se escapan los nombres de archivo creados para las subcolumnas del tipo `Variant` en partes de datos Wide de tablas MergeTree. Este cambio rompe la compatibilidad con tablas antiguas con tipos de datos Variant/Dynamic/JSON. Corrige el almacenamiento de tipos con símbolos especiales dentro de Variant (como DateTime con una timezone específica que contiene `\`). El escape puede deshabilitarse cambiando la configuración de MergeTree `escape_variant_subcolumn_filenames` (para mantener la compatibilidad, desactive esta configuración en la configuración de MergeTree o establezca la configuración `compatibility` en la versión anterior antes de actualizar). Resuelve [#69590](https://github.com/ClickHouse/ClickHouse/issues/69590). [#87300](https://github.com/ClickHouse/ClickHouse/pull/87300) ([Pavel Kruglov](https://github.com/Avogar)).
* Se habilita el formato de serialización `with_size_stream` para el tipo de datos `String` de forma predeterminada. Este cambio es compatible con versiones anteriores, pero el nuevo formato de serialización solo es compatible a partir de la versión 25.10, lo que significa que no será posible volver a versiones anteriores a la 25.10. Si quiere mantener la posibilidad de volver a 25.9 y anteriores, configure `serialization_info_version` como `basic` y `string_serialization_version` como `single_stream` en la sección `merge_tree` de la configuración del servidor. [#89329](https://github.com/ClickHouse/ClickHouse/pull/89329) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade compatibilidad con el etiquetado de excepciones en la respuesta de resultados HTTP para que los clientes puedan analizarlas de forma más fiable. Resuelve [#75175](https://github.com/ClickHouse/ClickHouse/issues/75175). La configuración `http_write_exception_in_output_format` está deshabilitada de forma predeterminada para mantener la coherencia entre formatos. [#88818](https://github.com/ClickHouse/ClickHouse/pull/88818) ([Kaviraj Kanagaraj](https://github.com/kavirajk)). Aunque no debería romper ningún comportamiento existente (en el peor de los casos, se añadirá una cadena extraña al mensaje de excepción), sigue teniendo sentido usar "Backward Incompatible Change" como categoría del changelog por precaución (porque quién sabe cómo algunos scripts chapuceros pueden analizar el mensaje de excepción).
* Se prohíbe la creación de varios discos `plain-rewritable` sobre la ruta compartida de object storage, ya que esto puede provocar un comportamiento indefinido cuando colisionan distintas transacciones de almacenamiento de metadatos. [#89038](https://github.com/ClickHouse/ClickHouse/pull/89038) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se corrige la precedencia de la configuración SASL del almacenamiento Kafka. La configuración SASL a nivel de tabla especificada en consultas CREATE TABLE ahora anula correctamente la configuración específica de consumer/producer procedente de los archivos de configuración. [#89401](https://github.com/ClickHouse/ClickHouse/pull/89401) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Los timestamps de Parquet sin timezone (isAdjustedToUTC=false) ahora se leen como DateTime64(..., 'UTC') en lugar de DateTime64(...). Esto es menos incorrecto, ya que convertir ese timestamp UTC a cadena produce una representación de la hora local correcta. Use `input_format_parquet_local_time_as_utc = 0` para obtener el comportamiento anterior. Resuelve [#87469](https://github.com/ClickHouse/ClickHouse/issues/87469). [#87872](https://github.com/ClickHouse/ClickHouse/pull/87872) ([Michael Kolupaev](https://github.com/al13n321)).
* Una pequeña mejora para el codec `T64`: ya no acepta tipos de datos no alineados con el tamaño del elemento de compresión, lo que de otro modo provocaba un error. Resuelve [#89282](https://github.com/ClickHouse/ClickHouse/issues/89282). [#89432](https://github.com/ClickHouse/ClickHouse/pull/89432) ([yanglongwei](https://github.com/ylw510)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se introduce el tipo `Geometry`. Se admite la lectura de los formatos `WKB` y `WKT` para este tipo. En versiones anteriores, el tipo `Geometry` era un alias de `String`, pero ahora es un tipo completo. [#83344](https://github.com/ClickHouse/ClickHouse/pull/83344) ([scanhex12](https://github.com/scanhex12)).
* Se añadió la nueva sentencia SQL `EXECUTE AS` para permitir la suplantación de usuarios. Resuelve [#39048](https://github.com/ClickHouse/ClickHouse/issues/39048). [#70775](https://github.com/ClickHouse/ClickHouse/pull/70775) ([Shankar](https://github.com/shiyer7474)).
* Agregar la función `naiveBayesClassifier` para clasificar texto mediante Naive Bayes a partir de ngrams. [#88677](https://github.com/ClickHouse/ClickHouse/pull/88677) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se agrega soporte para `LIMIT` y `OFFSET` fraccionarios para seleccionar una fracción de una tabla. Cierra [#81892](https://github.com/ClickHouse/ClickHouse/issues/81892). [#88755](https://github.com/ClickHouse/ClickHouse/pull/88755) ([Ahmed Gouda](https://github.com/0xgouda)).
* Subsistema de ClickHouse para el catálogo de Microsoft OneLake. [#89366](https://github.com/ClickHouse/ClickHouse/pull/89366) ([scanhex12](https://github.com/scanhex12)).
* Se añade la función `flipCoordinates`, que desanida el número requerido de dimensiones de un array e intercambia los punteros dentro de la columna Tuple. Resuelve [#79469](https://github.com/ClickHouse/ClickHouse/issues/79469). [#79634](https://github.com/ClickHouse/ClickHouse/pull/79634) ([Sachin Kumar Singh](https://github.com/sachinkumarsingh092)).
* Se añade la tabla `system.unicode`, que contiene una lista de caracteres Unicode y sus propiedades. Cierra [#80055](https://github.com/ClickHouse/ClickHouse/issues/80055). [#80857](https://github.com/ClickHouse/ClickHouse/pull/80857) ([wxybear](https://github.com/wxybear)).
* Se ha añadido una nueva configuración de MergeTree `merge_max_dynamic_subcolumns_in_wide_part` para limitar el número de subcolumnas dinámicas en la parte Wide después de la fusión, independientemente de los parámetros especificados en el tipo de datos. [#87646](https://github.com/ClickHouse/ClickHouse/pull/87646) ([Pavel Kruglov](https://github.com/Avogar)).
* Se agregó compatibilidad con la función de ventana `cume_dist`. Corrige [#86920](https://github.com/ClickHouse/ClickHouse/issues/86920). [#88102](https://github.com/ClickHouse/ClickHouse/pull/88102) ([Manuel](https://github.com/raimannma)).
* Ahora se puede añadir un nuevo argumento `preprocessor` en la construcción de índices de texto. El argumento es una expresión arbitraria que transforma cada documento antes de la tokenización. [#88272](https://github.com/ClickHouse/ClickHouse/pull/88272) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Añade un campo `memory_usage` a `X-ClickHouse-Progress` y `X-ClickHouse-Summary`. Esto puede usarse para recopilar en tiempo real, en el cliente, el uso de memoria de las consultas. [#88393](https://github.com/ClickHouse/ClickHouse/pull/88393) ([Christoph Wurm](https://github.com/cwurm)).
* Añade la configuración `into_outfile_create_parent_directories` para crear automáticamente los directorios padre de `INTO OUTFILE`, evitando errores cuando las rutas de salida no existen. Esto simplifica los flujos de trabajo en los que las consultas escriben resultados en directorios anidados. Resuelve [#88610](https://github.com/ClickHouse/ClickHouse/issues/88610). [#88795](https://github.com/ClickHouse/ClickHouse/pull/88795) ([Saksham](https://github.com/Saksham10-11)).
* Se añade compatibilidad con la sintaxis `CREATE OR REPLACE` para tablas temporales. Cierra [#35888](https://github.com/ClickHouse/ClickHouse/issues/35888). [#89450](https://github.com/ClickHouse/ClickHouse/pull/89450) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Se añade compatibilidad con `arrayRemove` para eliminar del array `arr` todos los elementos iguales a `elem`. Esto solo es necesario por compatibilidad con Postgres, ya que ClickHouse ya dispone de la función mucho más potente `arrayFilter`. Resuelve [#52099](https://github.com/ClickHouse/ClickHouse/issues/52099). [#89585](https://github.com/ClickHouse/ClickHouse/pull/89585) ([tiwarysaurav](https://github.com/tiwarysaurav)).
* Se introduce la función escalar `midpoint`, que calcula el promedio. Resuelve [#89029](https://github.com/ClickHouse/ClickHouse/issues/89029). [#89679](https://github.com/ClickHouse/ClickHouse/pull/89679) ([simonmichal](https://github.com/simonmichal)).
* La interfaz web ahora incluye un botón de descarga. Descarga el resultado completo aunque la UI solo muestre una parte. [#89768](https://github.com/ClickHouse/ClickHouse/pull/89768) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió la configuración `arrow_flight_request_descriptor_type` para admitir Dremio y otros servidores de Arrow Flight que requieren descriptores de tipo comando. Implementa [#89523](https://github.com/ClickHouse/ClickHouse/issues/89523). [#89826](https://github.com/ClickHouse/ClickHouse/pull/89826) ([Shreyas Ganesh](https://github.com/shreyasganesh0)).
* Nuevas funciones de agregación `argAndMin` y `argAndMax` que devuelven el argumento y el valor extremo correspondiente. En versiones anteriores, esto también se podía hacer usando una tupla como argumento. [#89884](https://github.com/ClickHouse/ClickHouse/pull/89884) ([AbdAlRahman Gad](https://github.com/AbdAlRahmanGad)).
* Configuración para escribir y verificar sumas de verificación de Parquet. [#79012](https://github.com/ClickHouse/ClickHouse/pull/79012) ([Michael Kolupaev](https://github.com/al13n321)).
* Se añadió la configuración `kafka_schema_registry_skip_bytes` al motor de tabla Kafka para omitir los bytes del encabezado del envoltorio (p. ej., el prefijo de 19 bytes de AWS Glue Schema Registry) antes de analizar la carga útil del mensaje. Esto permite que ClickHouse consuma mensajes de registros de esquemas que añaden encabezados de metadatos. [#89621](https://github.com/ClickHouse/ClickHouse/pull/89621) ([Taras Polishchuk](https://github.com/wake-up-neo)).
* Se agrega la función `h3PolygonToCells`, que permite rellenar geometrías con hexágonos H3. Resuelve [#33991](https://github.com/ClickHouse/ClickHouse/issues/33991). [#66262](https://github.com/ClickHouse/ClickHouse/pull/66262) ([Zacharias Knudsen](https://github.com/zachasme)).
* Añade una nueva columna virtual `_tags` (`Map(String, String)`) con todas las etiquetas asociadas al blob en S3 (nota: si el blob no tiene ninguna etiqueta, no se hará ninguna petición adicional). Resuelve [#72945](https://github.com/ClickHouse/ClickHouse/issues/72945). [#77773](https://github.com/ClickHouse/ClickHouse/pull/77773) ([Zicong Qu](https://github.com/zicongleoqu)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se admite la obtención de certificados TLS desde proveedores ACME, [RFC 8555](https://datatracker.ietf.org/doc/html/rfc8555), como Let's Encrypt. Esto permite la configuración automática de TLS en clústeres distribuidos. [#66315](https://github.com/ClickHouse/ClickHouse/pull/66315) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se admite parte de la API HTTP de consultas de Prometheus. Para habilitarla, agregue una regla de tipo `query_api` en la sección `<prometheus>` del archivo de configuración. Los handlers compatibles son `/api/v1/query_range` y `/api/v1/query`. [#86132](https://github.com/ClickHouse/ClickHouse/pull/86132) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* La búsqueda de texto completo ahora está en beta (antes estaba en fase experimental). [#88928](https://github.com/ClickHouse/ClickHouse/pull/88928) ([Robert Schulze](https://github.com/rschu1ze)).
* `Alias` pasa a experimental y puede habilitarse con `allow_experimental_alias_table_engine = 1`. [#89712](https://github.com/ClickHouse/ClickHouse/pull/89712) ([Kai Zhu](https://github.com/nauu)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* El lector de Parquet v3 está habilitado de forma predeterminada. [#88827](https://github.com/ClickHouse/ClickHouse/pull/88827) ([Michael Kolupaev](https://github.com/al13n321)).
* Ejecución distribuida: las tareas se dividen mejor por identificadores de grupos de filas, no por archivos. [#87508](https://github.com/ClickHouse/ClickHouse/pull/87508) ([scanhex12](https://github.com/scanhex12)).
* Los `RIGHT` y `FULL` JOIN ahora usan ConcurrentHashJoin; esto significa que estos tipos de JOIN ahora se ejecutan con un mayor grado de paralelismo. Mejora varios casos de `RIGHT` y `FULL` JOIN hasta en un factor de dos. Resuelve [#78027](https://github.com/ClickHouse/ClickHouse/issues/78027). [#78462](https://github.com/ClickHouse/ClickHouse/pull/78462) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Optimización para valores elevados de expresiones constantes en consultas. Cierra [#72880](https://github.com/ClickHouse/ClickHouse/issues/72880). [#81104](https://github.com/ClickHouse/ClickHouse/pull/81104) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Consultas `SELECT` hasta 8 veces más rápidas gracias a una poda intensiva de particiones en tablas con más de 10K partes. [#85535](https://github.com/ClickHouse/ClickHouse/pull/85535) ([James Morrison](https://github.com/jawm)).
* Cuando una consulta usa una tabla hash de tamaño fijo para el estado de agregación (GROUP BY sobre un entero pequeño), ClickHouse ahora fusiona el estado de agregación en paralelo para acelerar la consulta. [#87366](https://github.com/ClickHouse/ClickHouse/pull/87366) ([Jianfei Hu](https://github.com/incfly)).
* Permite usar proyecciones (que usan `SELECT` sobre `_part_offset` y un `ORDER BY` distinto) como índice secundario. Cuando está habilitado, determinados predicados de la consulta pueden usarse para leer datos de partes de proyección y generar bitmaps para filtrar filas de forma eficiente durante la etapa de PREWHERE. Este es el tercer paso para implementar el índice de proyección, después de [#80343](https://github.com/ClickHouse/ClickHouse/issues/80343). [#81021](https://github.com/ClickHouse/ClickHouse/pull/81021) ([Amos Bird](https://github.com/amosbird)).
* Se corrige VDSO para sistemas Aarch64 poco frecuentes y para otras posibles combinaciones de arquitectura/kernel. [#86096](https://github.com/ClickHouse/ClickHouse/pull/86096) ([Tomas Hulata](https://github.com/tombokombo)).
* Mejora la velocidad de descompresión de LZ4 al simplificar el código y ajustar el [algoritmo de selección](https://clickhouse.com/blog/lz4-compression-in-clickhouse#how-to-choose-the-best-algorithm). [#88360](https://github.com/ClickHouse/ClickHouse/pull/88360) ([Raúl Marín](https://github.com/Algunenano)).
* S3 particiona los objetos internamente según los prefijos del nombre de la clave y escala automáticamente para admitir altas tasas de solicitudes por partición. Este cambio introduce dos nuevas opciones de configuración de BACKUP: data\_file\_name\_generator y data\_file\_name\_prefix\_length. Cuando data\_file\_name\_generator=checksum, los archivos de datos de la copia de seguridad se nombran mediante un hash de su contenido. Ejemplo: para un checksum = `abcd1234ef567890abcd1234ef567890` y `data_file_name_prefix_length = 3`, la ruta resultante será: `abc/d1234ef567890abcd1234ef567890`. La distribución de claves resultante mejora el balanceo de carga entre las particiones de S3 y reduce el riesgo de throttling. [#88418](https://github.com/ClickHouse/ClickHouse/pull/88418) ([Julia Kartseva](https://github.com/jkartseva)).
* Se mejoró el rendimiento del índice de texto almacenando en caché bloques de diccionario y usando tablas hash para la búsqueda de tokens en lugar de la búsqueda binaria. [#88786](https://github.com/ClickHouse/ClickHouse/pull/88786) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Las consultas ahora pueden aprovechar simultáneamente `optimize_read_in_order` y `query_plan_optimize_lazy_materialization`. Resuelve [#88767](https://github.com/ClickHouse/ClickHouse/issues/88767). [#88866](https://github.com/ClickHouse/ClickHouse/pull/88866) ([Manuel](https://github.com/raimannma)).
* Utiliza una proyección agregada para las consultas con `DISTINCT`. Cierra [#86925](https://github.com/ClickHouse/ClickHouse/issues/86925). [#88894](https://github.com/ClickHouse/ClickHouse/pull/88894) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Almacenamiento en caché de las `posting lists` para mejorar el rendimiento en ejecuciones sucesivas. [#88912](https://github.com/ClickHouse/ClickHouse/pull/88912) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Ejecutar la transformación `streaming` de LIMIT BY cuando el orden de entrada coincida con las claves de LIMIT BY. [#88969](https://github.com/ClickHouse/ClickHouse/pull/88969) ([Eduard Karacharov](https://github.com/korowa)).
* Se permite reescribir `ANY LEFT JOIN` o `ANY RIGHT JOIN` como `ALL INNER JOIN` en algunos casos. [#89403](https://github.com/ClickHouse/ClickHouse/pull/89403) ([Dmitry Novik](https://github.com/novikd)).
* Reduce la sobrecarga del logging: usa menos operaciones atómicas por registro. [#89651](https://github.com/ClickHouse/ClickHouse/pull/89651) ([Sergei Trifonov](https://github.com/serxa)).
* Cuando los filtros de tiempo de ejecución están habilitados en una consulta con múltiples JOIN y se añaden varios filtros de tiempo de ejecución, se implementa el pushdown de los pasos de filtro recién añadidos por delante de los demás. [#89725](https://github.com/ClickHouse/ClickHouse/pull/89725) ([Alexander Gololobov](https://github.com/davenger)).
* Se aceleran ligeramente algunas operaciones de `uniqExact` al reducir la sobrecarga de la fusión de tablas hash. [#89727](https://github.com/ClickHouse/ClickHouse/pull/89727) ([Raúl Marín](https://github.com/Algunenano)).
* Se aumenta el límite de filas para la materialización diferida de 10 a 100. [#89772](https://github.com/ClickHouse/ClickHouse/pull/89772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se habilita de forma predeterminada la configuración `allow_special_serialization_kinds_in_output_formats`. Esto reducirá el uso de memoria y mejorará la velocidad de las consultas al generar la salida de columnas dispersas/Replicated en algunos formatos de salida por fila. [#89402](https://github.com/ClickHouse/ClickHouse/pull/89402) ([Pavel Kruglov](https://github.com/Avogar)).
* Se añadió paralelismo a las consultas `ALTER TABLE ... FREEZE`. [#71743](https://github.com/ClickHouse/ClickHouse/pull/71743) ([Kirill](https://github.com/kirillgarbar)).
* Se añade una caché para la autenticación con bcrypt. [#87115](https://github.com/ClickHouse/ClickHouse/pull/87115) ([Nikolay Degterinsky](https://github.com/evillique)).
* Si un índice de omisión utilizado en una consulta con `FINAL` está en una columna que forma parte de la clave primaria, el paso adicional para comprobar la intersección con la clave primaria en otras partes es innecesario y ya no se realiza. Resuelve [#85897](https://github.com/ClickHouse/ClickHouse/issues/85897). [#88368](https://github.com/ClickHouse/ClickHouse/pull/88368) ([Shankar Iyer](https://github.com/shankar-iyer)).
* La optimización `enable_lazy_columns_replication` ahora es la predeterminada, lo que reducirá el uso de memoria en los joins. [#89316](https://github.com/ClickHouse/ClickHouse/pull/89316) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se introduce una caché por tabla de `ColumnsDescription` para las partes, lo que reduce el consumo de memoria cuando las tablas contienen muchas partes y columnas. [#89352](https://github.com/ClickHouse/ClickHouse/pull/89352) ([Azat Khuzhin](https://github.com/azat)).
* Se introdujo una caché para la cabecera deserializada del índice de texto a fin de reducir la E/S y mejorar el rendimiento de las consultas. La caché se puede configurar mediante nuevos parámetros del servidor: - `text_index_header_cache_policy` - `text_index_header_cache_size` - `text_index_header_cache_max_entries` - `text_index_header_cache_size_ratio`. [#89513](https://github.com/ClickHouse/ClickHouse/pull/89513) ([Elmi Ahmadov](https://github.com/ahmadov)).

<div id="improvement">
  #### Mejora
</div>

* UNION debería unificar los types con `Variant` si es necesario cuando `use_variant_as_common_type` está habilitado. Resuelve [#82772](https://github.com/ClickHouse/ClickHouse/issues/82772). [#83246](https://github.com/ClickHouse/ClickHouse/pull/83246) ([Mithun p](https://github.com/mithunputhusseri)).
* Los roles definidos en SQL ahora pueden otorgarse a los usuarios definidos en `users.xml`. [#88139](https://github.com/ClickHouse/ClickHouse/pull/88139) ([c-end](https://github.com/c-end)).
* Registrar las consultas internas (las que ejecutan internamente los diccionarios, las vistas materializadas actualizables, etc.) y añadir la nueva columna `is_internal` a `system.query_log`. [#83277](https://github.com/ClickHouse/ClickHouse/pull/83277) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Operador `IS NOT DISTINCT FROM` (`<=>`) mejorado: se añadió compatibilidad con el inverso `IS DISTINCT FROM`, así como con operandos numéricos compatibles de distintos tipos (p. ej., `Nullable(UInt32)` y `Nullable(Int64)`). Resuelve [#86763](https://github.com/ClickHouse/ClickHouse/issues/86763). [#87581](https://github.com/ClickHouse/ClickHouse/pull/87581) ([yanglongwei](https://github.com/ylw510)).
* `clickhouse-client` y `clickhouse-local` en modo interactivo resaltarán en la línea de comandos los identificadores que tengan el mismo nombre que el que está actualmente bajo el cursor. [#89689](https://github.com/ClickHouse/ClickHouse/pull/89689) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Los ajustes relacionados con el formato de salida ya no afectan a la caché de consultas. Además, la caché de consultas ignorará el ajuste `http_response_headers`. Esto es necesario para permitir la implementación de funciones como descargar el resultado desde la caché en la interfaz web. [#89756](https://github.com/ClickHouse/ClickHouse/pull/89756) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La interfaz HTTP proporcionará los encabezados `Age` y `Expires` cuando se utilice la caché de resultados de consultas. La presencia del encabezado `Age` indica si el resultado proviene de la caché, mientras que `Expires` también se establece en la primera escritura. Se añaden nuevos eventos de perfil: `QueryCacheAgeSeconds`, `QueryCacheReadRows`, `QueryCacheReadBytes`, `QueryCacheWrittenRows`, `QueryCacheWrittenBytes`. [#89759](https://github.com/ClickHouse/ClickHouse/pull/89759) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permitir la inserción en tablas remotas y de lago de datos cuando `disable_insertion_and_mutation` está habilitado (es decir, warehouses de solo lectura en ClickHouse Cloud). [#88549](https://github.com/ClickHouse/ClickHouse/pull/88549) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se agrega la consulta `SYSTEM DROP TEXT INDEX CACHES`. [#90287](https://github.com/ClickHouse/ClickHouse/pull/90287) ([Anton Popov](https://github.com/CurtizJ)).
* Se habilita `enable_shared_storage_snapshot_in_query` de forma predeterminada para ofrecer mejores garantías de consistencia. No debería tener desventajas. [#82634](https://github.com/ClickHouse/ClickHouse/pull/82634) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió la configuración `send_profile_events`, que permite a los clientes reducir el tráfico de red cuando no se utilizan los eventos de perfil. [#89588](https://github.com/ClickHouse/ClickHouse/pull/89588) ([Kaviraj Kanagaraj](https://github.com/kavirajk)).
* Permite desactivar la descarga en segundo plano de segmentos próximos por consulta. Corrige [#89524](https://github.com/ClickHouse/ClickHouse/issues/89524). [#89668](https://github.com/ClickHouse/ClickHouse/pull/89668) ([tanner-bruce](https://github.com/tanner-bruce)).
* Permitir `FETCH PARTITION` cuando haya discos dañados en tablas MergeTree replicadas. [#58663](https://github.com/ClickHouse/ClickHouse/pull/58663) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrige una excepción no controlada al obtener el esquema de una tabla MySQL en el motor de base de datos MySQL. [#69358](https://github.com/ClickHouse/ClickHouse/pull/69358) ([Duc Canh Le](https://github.com/canhld94)).
* Todas las consultas DDL `ON CLUSTER` ahora se ejecutan con el contexto del usuario de la consulta original para mejorar la validación de acceso. [#71334](https://github.com/ClickHouse/ClickHouse/pull/71334) ([pufit](https://github.com/pufit)).
* Se añadió compatibilidad con `UUID` en `Parquet` cuando está representado mediante `FixedString(16)` con el tipo lógico `UUID`. [#74484](https://github.com/ClickHouse/ClickHouse/pull/74484) ([alekseev-maksim](https://github.com/alekseev-maksim)).
* Deshabilitar ThreadFuzzer de forma predeterminada en los binarios que no pertenecen al servidor. [#89115](https://github.com/ClickHouse/ClickHouse/pull/89115) ([Raúl Marín](https://github.com/Algunenano)).
* Hacer visibles las optimizaciones del plan de consulta para el subplan de entrada de la subconsulta correlacionada al posponer su materialización. Parte de [#79890](https://github.com/ClickHouse/ClickHouse/issues/79890). [#85455](https://github.com/ClickHouse/ClickHouse/pull/85455) ([Dmitry Novik](https://github.com/novikd)).
* Puede ver una barra de progreso, logs y estadísticas de rendimiento para consultas `CREATE OR REPLACE TABLE` con `SELECT` en clickhouse-client. Esta consulta ya no provocará un timeout, incluso si el `SELECT` tarda bastante tiempo. Resuelve [#38416](https://github.com/ClickHouse/ClickHouse/issues/38416). [#87247](https://github.com/ClickHouse/ClickHouse/pull/87247) ([Diskein](https://github.com/Diskein)).
* Se añade compatibilidad con los tipos `JSON` y `Dynamic` en las funciones hash. Resuelve [#87734](https://github.com/ClickHouse/ClickHouse/issues/87734). [#87791](https://github.com/ClickHouse/ClickHouse/pull/87791) ([Pavel Kruglov](https://github.com/Avogar)).
* Se implementaron las partes que faltaban del servidor ArrowFlight. [#88013](https://github.com/ClickHouse/ClickHouse/pull/88013) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se agregan varias métricas de histograma para el servidor y Keeper con el fin de instrumentar la duración de las etapas de ejecución de las solicitudes de Keeper. Se agregarán las siguientes métricas al servidor: `keeper_client_queue_duration_milliseconds`, `keeper_client_send_duration_milliseconds`, `keeper_client_roundtrip_duration_milliseconds`. Se agregarán las siguientes métricas a Keeper: `keeper_server_preprocess_request_duration_milliseconds`, `keeper_server_process_request_duration_milliseconds`, `keeper_server_queue_duration_milliseconds`, `keeper_server_send_duration_milliseconds`. [#88158](https://github.com/ClickHouse/ClickHouse/pull/88158) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Agregar la opción `input_headers` a la consulta `EXPLAIN` para añadir las cabeceras de entrada a los pasos. [#88311](https://github.com/ClickHouse/ClickHouse/pull/88311) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Agrega eventos de perfil para contar la cantidad de solicitudes a S3 y AzureBlobStorage retrasadas por los limitadores. Corrige la inconsistencia de los eventos de perfil ThrottlerCount relacionados y no relacionados con disco. Ahora las solicitudes HTTP DELETE de AzureBlobStorage ya no se limitan. [#88535](https://github.com/ClickHouse/ClickHouse/pull/88535) ([Sergei Trifonov](https://github.com/serxa)).
* Almacenamiento en caché de estadísticas a nivel de tabla; se añaden dos ajustes: el ajuste de MergeTree `refresh_statistics_interval` indica el intervalo de actualización de la caché de estadísticas; 0 significa que no se creará ninguna caché. El ajuste de sesión `use_statistics_cache` indica si se deben usar estadísticas a nivel de tabla en una consulta. A veces queremos estadísticas más precisas, por lo que optamos por ignorar la caché. [#88670](https://github.com/ClickHouse/ClickHouse/pull/88670) ([Han Fei](https://github.com/hanfei1991)).
* Se corrigió la deserialización binaria de `Array` y `Map` para usar la configuración `max_binary_array_size` en lugar de `max_binary_string_size` al comprobar los límites de tamaño. Esto garantiza que se apliquen los límites correctos al leer en formato `RowBinary`. [#88744](https://github.com/ClickHouse/ClickHouse/pull/88744) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se introdujo una clase `LockGuardWithStopWatch` y se utilizó en el background pool para ejecutar merges. Si un mutex permanecía retenido durante un segundo o algún hilo tardaba más de un segundo en adquirirlo, se imprimirá un mensaje de advertencia. La parte más pesada del código se trasladó del destructor de `MergeMutateSelectedEntry` al método `finalize` para evitar mantener el bloqueo en el ejecutor `MergeTreeBackground` durante demasiado tiempo. [#88898](https://github.com/ClickHouse/ClickHouse/pull/88898) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Permite usar automáticamente regiones de AWS con activación opcional para S3 cuando la región no se especifica en el endpoint. Referencia: [regiones de AWS con activación opcional](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html). [#88930](https://github.com/ClickHouse/ClickHouse/pull/88930) ([Andrey Zvonov](https://github.com/zvonand)).
* Ahora, el usuario puede cancelar la consulta en clickhouse-client pulsando Ctrl-C cuando el paginador está activo. Resuelve [#80778](https://github.com/ClickHouse/ClickHouse/issues/80778). [#88935](https://github.com/ClickHouse/ClickHouse/pull/88935) ([Grigorii](https://github.com/GSokol)).
* La interfaz web mostrará barras en la tabla incluso cuando los valores sean negativos. Así, podrá mostrar un gráfico de barras a ambos lados, con distintos colores en los lados negativo y positivo. [#89016](https://github.com/ClickHouse/ClickHouse/pull/89016) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Desactiva `shared_merge_tree_create_per_replica_metadata_nodes` para reducir la cantidad de metadatos que `SharedMergeTree` almacena en Keeper. [#89036](https://github.com/ClickHouse/ClickHouse/pull/89036) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Hacer que `S3Queue` respete la opción de configuración del servidor `disable_insertion_and_mutation`. [#89048](https://github.com/ClickHouse/ClickHouse/pull/89048) ([Raúl Marín](https://github.com/Algunenano)).
* Establecer `s3_retry_attempts` en 500 de forma predeterminada para la versión 25.6, a fin de garantizar que las copias de seguridad se completen correctamente cuando haya un reparticionamiento en S3 y S3 responda con errores «Slow Down» durante más de 10 minutos. [#89051](https://github.com/ClickHouse/ClickHouse/pull/89051) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ahora se pueden usar los ajustes `kafka_compression_codec` y `kafka_compression_level` para especificar la compresión para los productores de Kafka en ambos motores Kafka. [#89073](https://github.com/ClickHouse/ClickHouse/pull/89073) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Añade una nueva columna `statistics` en `system.columns` que indica los tipos de estadísticas generadas para esta tabla. Si un tipo de estadísticas se crea automáticamente, aparecerá con el sufijo (auto). [#89086](https://github.com/ClickHouse/ClickHouse/pull/89086) ([Han Fei](https://github.com/hanfei1991)).
* Se mejora el mensaje de error cuando se pasa una expansión genérica en lugar del nombre del clúster a una table function `*Cluster`. [#89093](https://github.com/ClickHouse/ClickHouse/pull/89093) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* YTsaurus: permitir el uso de una replicated\_table como fuente de datos. [#89107](https://github.com/ClickHouse/ClickHouse/pull/89107) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Las consultas que empiezan con espacios en blanco ya no se guardan en el historial de la CLI. [#89116](https://github.com/ClickHouse/ClickHouse/pull/89116) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se admite Array de String como entrada en las funciones `hasAnyTokens` o `hasAllTokens`. [#89124](https://github.com/ClickHouse/ClickHouse/pull/89124) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se modificó la forma en que los discos reescribibles simples almacenan sus metadatos en memoria, lo que corrige numerosos errores relacionados con el anidamiento de directorios y otros problemas afines. [#89125](https://github.com/ClickHouse/ClickHouse/pull/89125) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Las subconsultas que participan en expresiones con IN al consultar una tabla Iceberg se precalcularán correctamente antes del análisis de poda de particiones. [#89177](https://github.com/ClickHouse/ClickHouse/pull/89177) ([Daniil Ivanik](https://github.com/divanik)).
* Se habilita `create_table_empty_primary_key_by_default` de forma predeterminada. Esto mejora la usabilidad. [#89333](https://github.com/ClickHouse/ClickHouse/pull/89333) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige un error en el código del motor de base de datos `Backup` que podía generar una consulta no válida con `SHOW CREATE DATABASE` o al consultar `engine_full` en `system.databases`. Cierra [#89477](https://github.com/ClickHouse/ClickHouse/issues/89477). [#89341](https://github.com/ClickHouse/ClickHouse/pull/89341) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* En versiones anteriores, la configuración `create_table_empty_primary_key_by_default` no surtía efecto cuando no se especificaba el motor de la tabla en la consulta CREATE TABLE. [#89342](https://github.com/ClickHouse/ClickHouse/pull/89342) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Actualiza `chdig` a la versión 25.11.1; incluye mejoras importantes en logging y varias mejoras más ([notas de la versión 25.11](https://github.com/azat/chdig/releases/tag/v25.11.1)). [#89957](https://github.com/ClickHouse/ClickHouse/pull/89957) ([Azat Khuzhin](https://github.com/azat)). ([notas de la versión 25.10](https://github.com/azat/chdig/releases/tag/v25.10.1)). [#89452](https://github.com/ClickHouse/ClickHouse/pull/89452) ([Azat Khuzhin](https://github.com/azat)).
* El controlador de redimensionado del área de texto de la consulta en la Web UI ahora ocupa todo el ancho, lo que la hace un poco más cómoda. Además, el controlador de redimensionado nativo del navegador no estaba disponible en Safari en iPad y, tras este cambio, al menos puedes arrastrar la parte inferior del área de texto, si lo sabes. [#89457](https://github.com/ClickHouse/ClickHouse/pull/89457) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se mejoró el seguimiento de memoria en la generación de resultados de hash joins. Anteriormente, las asignaciones temporales durante la generación del resultado del join no se contabilizaban correctamente, lo que podía hacer que se superaran los límites de memoria. [#89560](https://github.com/ClickHouse/ClickHouse/pull/89560) ([Azat Khuzhin](https://github.com/azat)).
* Registro asíncrono del servidor: vaciado anticipado y aumento del tamaño predeterminado de la cola. [#89597](https://github.com/ClickHouse/ClickHouse/pull/89597) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige el valor incorrecto de `FilesystemCacheBytes` (y otros) en `system.asynchronous_metrics`. Ejecuta las consultas `SYSTEM` sobre las cachés del sistema de archivos solo una vez. Vista Atomic para cachés que apuntan a la misma ruta en `system.filesystem_caches`. [#89640](https://github.com/ClickHouse/ClickHouse/pull/89640) ([Azat Khuzhin](https://github.com/azat)).
* Se aclaró la descripción de algunas columnas de `system.view_refreshes`. [#89701](https://github.com/ClickHouse/ClickHouse/pull/89701) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Almacena en caché las credenciales de S3 usadas al interactuar con el endpoint de STS, para poder reutilizarlas en distintas llamadas a funciones. La cantidad de credenciales almacenadas en caché puede controlarse con `s3_credentials_provider_max_cache_size`. [#89734](https://github.com/ClickHouse/ClickHouse/pull/89734) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el pushdown del filtro en tiempo de ejecución cuando hay varios pasos de expresión por debajo. [#89741](https://github.com/ClickHouse/ClickHouse/pull/89741) ([Alexander Gololobov](https://github.com/davenger)).
* Si la memoria del sistema es inferior a 5 GB, no bloquear el ejecutable con `mlock` de forma predeterminada. [#89751](https://github.com/ClickHouse/ClickHouse/pull/89751) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las pistas de tipo en la interfaz web ya no se desbordan sobre el encabezado de la tabla. También se corrigió la visualización de los tooltips: ya no quedan detrás del encabezado de la tabla. [#89753](https://github.com/ClickHouse/ClickHouse/pull/89753) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mostrar las propiedades de la tabla en la interfaz web. Al hacer clic en el número de filas o de bytes, se abrirá una consulta de `system.tables`. Al hacer clic en el motor de tabla, se abrirá `SHOW TABLES`. [#89771](https://github.com/ClickHouse/ClickHouse/pull/89771) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se admite `non_replicated_deduplication_window` para tablas con un disco que no implementa la escritura en modo append. Resuelve [#87281](https://github.com/ClickHouse/ClickHouse/issues/87281). [#89796](https://github.com/ClickHouse/ClickHouse/pull/89796) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se agregó la posibilidad de especificar una lista de tablas sobre las que hacer flush con el comando `SYSTEM FLUSH ASYNC INSERT QUEUE`. [#89915](https://github.com/ClickHouse/ClickHouse/pull/89915) ([Sema Checherinda](https://github.com/CheSema)).
* Almacena los ID de los bloques de deduplicación en `system.part_log`. [#89928](https://github.com/ClickHouse/ClickHouse/pull/89928) ([Sema Checherinda](https://github.com/CheSema)).
* Se cambió el valor predeterminado de la configuración de la caché del sistema de archivos `keep_free_space_remove_batch` de 10 a 100, ya que es más eficiente. [#90030](https://github.com/ClickHouse/ClickHouse/pull/90030) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se introduce el tipo de fusión TTL DROP y no se actualiza la programación de la siguiente fusión TTL de borrado tras este tipo de fusiones. [#90077](https://github.com/ClickHouse/ClickHouse/pull/90077) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se reduce el límite de nodos para la solicitud RemoveRecursive de Keeper durante la limpieza de S3Queue. [#90201](https://github.com/ClickHouse/ClickHouse/pull/90201) ([Antonio Andelic](https://github.com/antonio2368)).
* Hacer que la consulta `SYSTEM FLUSH LOGS` espere a la creación de la tabla incluso cuando los logs estén vacíos. [#89408](https://github.com/ClickHouse/ClickHouse/pull/89408) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Corrige el valor incorrecto de `rows_before_limit_at_least` cuando intervienen varios segmentos remotos en una agregación distribuida con fusión, o cuando hay subconsultas IN. Esto corrige [#63280](https://github.com/ClickHouse/ClickHouse/issues/63280). [#63511](https://github.com/ClickHouse/ClickHouse/pull/63511) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la aparición de `0 rows in set` tras la consulta `INSERT INTO ... SELECT`. Cierra [#47800](https://github.com/ClickHouse/ClickHouse/issues/47800). [#79462](https://github.com/ClickHouse/ClickHouse/pull/79462) ([Engel Danila](https://github.com/aaaengel)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Corrige `multiIf` con argumentos constantes y evaluación de cortocircuito. Cierra [#72714](https://github.com/ClickHouse/ClickHouse/issues/72714). [#84546](https://github.com/ClickHouse/ClickHouse/pull/84546) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Corrige un error lógico al seleccionar de una tabla con una restricción de subconsulta. Resuelve [#84190](https://github.com/ClickHouse/ClickHouse/issues/84190). [#85575](https://github.com/ClickHouse/ClickHouse/pull/85575) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrigió un error en consultas especiales que utilizan un URI con signos de interrogación. [#85663](https://github.com/ClickHouse/ClickHouse/pull/85663) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrigió la ausencia ocasional de columnas en la salida de `EXPLAIN indexes = 1`. Resuelve [#86696](https://github.com/ClickHouse/ClickHouse/issues/86696). [#87083](https://github.com/ClickHouse/ClickHouse/pull/87083) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige el posible error «Cannot add subcolumn with parallel replicas». Cierra [#84888](https://github.com/ClickHouse/ClickHouse/issues/84888). [#87514](https://github.com/ClickHouse/ClickHouse/pull/87514) ([Pavel Kruglov](https://github.com/Avogar)).
* En el escritor de Parquet, ahora se emite la cadena `created_by` con el formato correcto, por ejemplo, `ClickHouse version 25.10.1 (build 5b1dfb14925db8901a4e9202cd5d63c11ecfbb9f)` en lugar de `ClickHouse v25.9.1.1-testing`. Se corrigió la compatibilidad del lector de Parquet con archivos defectuosos escritos por versiones antiguas de parquet-mr. [#87735](https://github.com/ClickHouse/ClickHouse/pull/87735) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigió el cálculo de phi-cuadrado, que provocaba resultados incorrectos en `cramersV`, `cramersVBiasCorrected`, `theilsU` y `contingency`. [#87831](https://github.com/ClickHouse/ClickHouse/pull/87831) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrige la lectura de un array mixto de Float y Bool en JSON. Anteriormente, al insertar estos datos se producía una excepción. [#88008](https://github.com/ClickHouse/ClickHouse/pull/88008) ([Pavel Kruglov](https://github.com/Avogar)).
* Uso de shared\_ptr para QueryState en TCPHandler para detectar si el estado es inválido en setProgressCallback, setFileProgressCallback y setBlockMarshallingCallback. [#88201](https://github.com/ClickHouse/ClickHouse/pull/88201) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige un error lógico en la reordenación de `cross join` cuando query\_plan\_optimize\_join\_order\_limit > 1, cierra [#89409](https://github.com/ClickHouse/ClickHouse/issues/89409). [#88286](https://github.com/ClickHouse/ClickHouse/pull/88286) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrige [#88426](https://github.com/ClickHouse/ClickHouse/issues/88426) 1. No se permiten definiciones explícitas de columnas en Alias, y las columnas se cargan automáticamente desde la tabla de destino. Esto garantiza que el alias siempre coincida con el esquema de la tabla de destino. 2. Se exponen más métodos de IStorage mediante proxy. [#88552](https://github.com/ClickHouse/ClickHouse/pull/88552) ([Kai Zhu](https://github.com/nauu)).
* Después de recuperarse, una réplica de una base de datos Replicated podía quedarse atascada durante mucho tiempo mostrando mensajes como `Failed to marked query-0004647339 as finished (finished=No node, synced=No node)`, ya se ha corregido. [#88671](https://github.com/ClickHouse/ClickHouse/pull/88671) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige el posible "Context has expired" con el nuevo analizador y subconsultas. [#88694](https://github.com/ClickHouse/ClickHouse/pull/88694) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un fallo de segmentación en el lector de Parquet cuando input\_format\_parquet\_local\_file\_min\_bytes\_for\_seek está configurado en 0. Resuelve [#78456](https://github.com/ClickHouse/ClickHouse/issues/78456). [#88784](https://github.com/ClickHouse/ClickHouse/pull/88784) ([Animesh](https://github.com/anibilthare)).
* Soluciona el resultado incorrecto de min(PK)/max(PK) cuando la PK está en orden inverso. Esto corrige [#83619](https://github.com/ClickHouse/ClickHouse/issues/83619). [#88796](https://github.com/ClickHouse/ClickHouse/pull/88796) ([Amos Bird](https://github.com/amosbird)).
* Se corrige la propagación de las restricciones de tamaño mediante los ajustes max\_table\_size\_to\_drop y max\_partition\_size\_to\_drop en DROP de las tablas internas. [#88812](https://github.com/ClickHouse/ClickHouse/pull/88812) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige `top_k` para que respete el parámetro de umbral cuando se invoca con un solo argumento. Cierra [#88757](https://github.com/ClickHouse/ClickHouse/issues/88757). [#88867](https://github.com/ClickHouse/ClickHouse/pull/88867) ([Manuel](https://github.com/raimannma)).
* Las fuentes de ArrowFlight con endpoint que requerían una conexión SSL (como las que están detrás de un AWS ALB) ahora pueden solicitar correctamente un conjunto de datos específico. [#88868](https://github.com/ClickHouse/ClickHouse/pull/88868) ([alex-shchetkov](https://github.com/alex-shchetkov)).
* Corrige el manejo de `Nested(Tuple(...))` sin materializar (añadido mediante `ALTER`). Corrige [#83133](https://github.com/ClickHouse/ClickHouse/issues/83133). [#88879](https://github.com/ClickHouse/ClickHouse/pull/88879) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un error en la función `reverseUTF8`. En versiones anteriores, invertía por error los bytes de los puntos de código UTF-8 de longitud 4. Esto resuelve [#88913](https://github.com/ClickHouse/ClickHouse/issues/88913). [#88914](https://github.com/ClickHouse/ClickHouse/pull/88914) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió el protocolo de icebergS3Cluster. Se añadió compatibilidad con la evolución del schema, así como con las eliminaciones posicionales y por igualdad en la función de clúster Iceberg. Resuelve [#88287](https://github.com/ClickHouse/ClickHouse/issues/88287). [#88919](https://github.com/ClickHouse/ClickHouse/pull/88919) ([Yang Jiang](https://github.com/Ted-Jiang)).
* Deshabilita parallel\_replicas\_support\_projection para las consultas con réplicas en paralelo sobre tablas distribuidas. Cierra [#88899](https://github.com/ClickHouse/ClickHouse/issues/88899). [#88922](https://github.com/ClickHouse/ClickHouse/pull/88922) ([zoomxi](https://github.com/zoomxi)).
* Se propaga el contexto en los casts internos. Se corrigen varios problemas por los que no se propagaba la configuración de cast. Cierra [#88873](https://github.com/ClickHouse/ClickHouse/issues/88873). Cierra [#78025](https://github.com/ClickHouse/ClickHouse/issues/78025). [#88929](https://github.com/ClickHouse/ClickHouse/pull/88929) ([Manuel](https://github.com/raimannma)).
* Corrige la obtención del formato de archivo a partir de globs en la función file(). Resuelve [#88920](https://github.com/ClickHouse/ClickHouse/issues/88920). [#88947](https://github.com/ClickHouse/ClickHouse/pull/88947) ([Vitaly Baranov](https://github.com/vitlibar)).
* No se comprueba el acceso `SET DEFINER <current_user>:definer` al crear una vista con SQL SECURITY DEFINER. [#88968](https://github.com/ClickHouse/ClickHouse/pull/88968) ([pufit](https://github.com/pufit)).
* Se corrigió `LOGICAL_ERROR` en `L2DistanceTransposed(vec1, vec2, p)`, donde la optimización para la lectura parcial de `QBit` eliminó incorrectamente `Nullable` del tipo de retorno cuando `p` era `Nullable`. [#88974](https://github.com/ClickHouse/ClickHouse/pull/88974) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se corrige un bloqueo con un tipo de catálogo desconocido. Resuelve [#88819](https://github.com/ClickHouse/ClickHouse/issues/88819). [#88987](https://github.com/ClickHouse/ClickHouse/pull/88987) ([scanhex12](https://github.com/scanhex12)).
* Con esto se cierra [#88081](https://github.com/ClickHouse/ClickHouse/issues/88081). [#88988](https://github.com/ClickHouse/ClickHouse/pull/88988) ([scanhex12](https://github.com/scanhex12)).
* Se corrigió una degradación del rendimiento en el análisis de los índices de omisión. [#89004](https://github.com/ClickHouse/ClickHouse/pull/89004) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige el error ACCESS\_ENTITY\_NOT\_FOUND al intentar ejecutar clusterAllReplicas desde un usuario con un rol que no existe. Resuelve [#87670](https://github.com/ClickHouse/ClickHouse/issues/87670). [#89068](https://github.com/ClickHouse/ClickHouse/pull/89068) ([pufit](https://github.com/pufit)).
* Se corrige el procesamiento de columnas dispersas mediante una restricción CHECK. Cierra [#88637](https://github.com/ClickHouse/ClickHouse/issues/88637). [#89076](https://github.com/ClickHouse/ClickHouse/pull/89076) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrigió un recuento incorrecto de filas al rellenar columnas virtuales en MergeTreeReaderTextIndex, que provocaba una caída con LOGICAL\_ERROR. [#89095](https://github.com/ClickHouse/ClickHouse/pull/89095) ([Peng Jian](https://github.com/fastio)).
* Evita fugas en el contador de merge de TTL cuando se producen excepciones durante la preparación del merge. Resuelve [#89019](https://github.com/ClickHouse/ClickHouse/issues/89019). [#89127](https://github.com/ClickHouse/ClickHouse/pull/89127) ([save-my-heart](https://github.com/save-my-heart)).
* Se corrigió el cálculo del tamaño del búfer necesario para las operaciones de codificación y decodificación de base32/base58. [#89133](https://github.com/ClickHouse/ClickHouse/pull/89133) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige un acceso a memoria ya liberada en Distributed debido a una condición de carrera entre el apagado y los INSERT en segundo plano. Resuelve [#88640](https://github.com/ClickHouse/ClickHouse/issues/88640). [#89136](https://github.com/ClickHouse/ClickHouse/pull/89136) ([Azat Khuzhin](https://github.com/azat)).
* Evita posibles condiciones de carrera causadas por excepciones mutables al analizar Parquet. Corrige [#88385](https://github.com/ClickHouse/ClickHouse/issues/88385). [#89174](https://github.com/ClickHouse/ClickHouse/pull/89174) ([Azat Khuzhin](https://github.com/azat)).
* Vista materializada actualizable: se corrigió un raro bloqueo del servidor si la tabla de origen se eliminaba por completo durante una actualización. [#89203](https://github.com/ClickHouse/ClickHouse/pull/89203) ([Michael Kolupaev](https://github.com/al13n321)).
* Vaciar los búferes al enviar un error en mitad de un flujo comprimido en la interfaz HTTP. [#89256](https://github.com/ClickHouse/ClickHouse/pull/89256) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se evita que las reglas de enmascaramiento de consultas se apliquen incorrectamente a las sentencias DDL. [#89272](https://github.com/ClickHouse/ClickHouse/pull/89272) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se corrigió un número incorrecto de filas al rellenar columnas virtuales en MergeTreeReaderTextIndex, lo que causaba un fallo con LOGICAL\_ERROR. Reabre [#89095](https://github.com/ClickHouse/ClickHouse/issues/89095). [#89303](https://github.com/ClickHouse/ClickHouse/pull/89303) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Se corrige el LOGICAL\_ERROR por el que Statistics countmin no admitía el tipo de datos estimate de LowCardinality(Nullable(String)). [#89343](https://github.com/ClickHouse/ClickHouse/pull/89343) ([Han Fei](https://github.com/hanfei1991)).
* Posible fallo/comportamiento indefinido en la función IN cuando los tipos de las columnas de la clave primaria son distintos de los tipos de las columnas del lado derecho de la función IN. Ejemplo: SELECT string\_column, int\_column FROM test\_table WHERE (string\_column, int\_column) IN (SELECT '5', 'not a number'). Ocurre si se seleccionan muchas filas y hay filas que contienen tipos no compatibles. [#89367](https://github.com/ClickHouse/ClickHouse/pull/89367) ([Ilya Golshtein](https://github.com/ilejn)).
* Corrige el truncamiento de los argumentos de `countIf(*)`. Cierra [#89372](https://github.com/ClickHouse/ClickHouse/issues/89372). [#89373](https://github.com/ClickHouse/ClickHouse/pull/89373) ([Manuel](https://github.com/raimannma)).
* Evita la pérdida de sumas de comprobación sin comprimir en las estadísticas de mutaciones. [#89381](https://github.com/ClickHouse/ClickHouse/pull/89381) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el LOGICAL\_ERROR en L2DistanceTransposed(vec1, vec2, p), donde la optimización para la lectura parcial de QBit eliminaba incorrectamente Nullable del tipo de retorno cuando `p` era LowCardinality(Nullable(T)). Resuelve [#88362](https://github.com/ClickHouse/ClickHouse/issues/88362). [#89397](https://github.com/ClickHouse/ClickHouse/pull/89397) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se corrige la carga de tablas con una serialización dispersa incorrecta de la propia Tuple (escrita por versiones anteriores de ClickHouse). [#89405](https://github.com/ClickHouse/ClickHouse/pull/89405) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió el manejo incorrecto de `merge` en partes vaciadas por TTL con proyecciones no vacías al usar `deduplicate_merge_projection_mode='ignore'`. Resuelve [#89430](https://github.com/ClickHouse/ClickHouse/issues/89430). [#89458](https://github.com/ClickHouse/ClickHouse/pull/89458) ([Amos Bird](https://github.com/amosbird)).
* Corrige un error lógico en el `join` `full_sorting_merge` con columnas duplicadas. Resuelve [#86957](https://github.com/ClickHouse/ClickHouse/issues/86957). [#89495](https://github.com/ClickHouse/ClickHouse/pull/89495) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió la lectura de los changelogs al iniciar Keeper en los casos en que un changelog no se había renombrado correctamente durante la rotación. [#89496](https://github.com/ClickHouse/ClickHouse/pull/89496) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige resultados incorrectos de JOIN al usar condiciones OR con claves únicas de la tabla de la derecha. Resuelve [#89391](https://github.com/ClickHouse/ClickHouse/issues/89391). [#89512](https://github.com/ClickHouse/ClickHouse/pull/89512) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrige el posible error "Context has expired" con el analizador y PK IN (subconsulta) (v2). Corrige [#89433](https://github.com/ClickHouse/ClickHouse/issues/89433). [#89527](https://github.com/ClickHouse/ClickHouse/pull/89527) ([Azat Khuzhin](https://github.com/azat)).
* Corrige la replicación de MaterializedPostgreSQL para tablas con nombres de columna en mayúsculas configurados. Resuelve [#72363](https://github.com/ClickHouse/ClickHouse/issues/72363). [#89530](https://github.com/ClickHouse/ClickHouse/pull/89530) ([Danylo Osipchuk](https://github.com/Lenivaya)).
* Se corrige un cierre inesperado cuando el estado de una función de agregación contiene un valor serializado de una columna LowCardinality(String). [#89550](https://github.com/ClickHouse/ClickHouse/pull/89550) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un bloqueo al usar `ARRAY JOIN` en el lado derecho de un JOIN con la configuración `enable_lazy_columns_replication` activada. [#89551](https://github.com/ClickHouse/ClickHouse/pull/89551) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error lógico en query\_plan\_convert\_join\_to\_in. Soluciona [#89066](https://github.com/ClickHouse/ClickHouse/issues/89066). [#89554](https://github.com/ClickHouse/ClickHouse/pull/89554) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió una excepción en el estimador de estadísticas al intentar estimar condiciones con tipos de columna y de constante incompatibles que no se pueden convertir. [#89596](https://github.com/ClickHouse/ClickHouse/pull/89596) ([Han Fei](https://github.com/hanfei1991)).
* Añade filtros de runtime solo para algoritmos de JOIN compatibles, es decir, hash joins. Un filtro solo puede construirse cuando el algoritmo de JOIN primero lee completamente el lado derecho y luego lee el izquierdo, pero FullSortingMergeJoin, por ejemplo, lee ambos lados simultáneamente. Corrige [#89220](https://github.com/ClickHouse/ClickHouse/issues/89220). [#89652](https://github.com/ClickHouse/ClickHouse/pull/89652) ([Alexander Gololobov](https://github.com/davenger)).
* Se corrige la ejecución concurrente de las funciones `hasAnyTokens`, `hasAllTokens` y `tokens` con el tokenizador `sparseGrams`. Resuelve [#89605](https://github.com/ClickHouse/ClickHouse/issues/89605). [#89665](https://github.com/ClickHouse/ClickHouse/pull/89665) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se corrige un error lógico o bloqueo relacionado con el runtime filter de join en algunos casos. Corrige [#89062](https://github.com/ClickHouse/ClickHouse/issues/89062). [#89666](https://github.com/ClickHouse/ClickHouse/pull/89666) ([Alexander Gololobov](https://github.com/davenger)).
* Corrige un posible error lógico durante `ARRAY JOIN` en una columna Map con `enable_lazy_columns_replication` activado. Cierra [#89705](https://github.com/ClickHouse/ClickHouse/issues/89705). [#89717](https://github.com/ClickHouse/ClickHouse/pull/89717) ([Pavel Kruglov](https://github.com/Avogar)).
* Se evita un fallo al leer desde el servidor remoto tras la desconexión en consultas remotas durante la cancelación. Resuelve [#89468](https://github.com/ClickHouse/ClickHouse/issues/89468). [#89740](https://github.com/ClickHouse/ClickHouse/pull/89740) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige una condición de carrera en la lectura del índice de proyección. Resuelve [#89497](https://github.com/ClickHouse/ClickHouse/issues/89497). [#89762](https://github.com/ClickHouse/ClickHouse/pull/89762) ([Peng Jian](https://github.com/fastio)).
* Se corrige un error en la lectura del índice de proyección que podía provocar condiciones de carrera. Resuelve [#89497](https://github.com/ClickHouse/ClickHouse/issues/89497). [#89775](https://github.com/ClickHouse/ClickHouse/pull/89775) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió el manejo de la función de tabla Paimon en tablas sin partición. Resuelve [#89690](https://github.com/ClickHouse/ClickHouse/issues/89690). [#89793](https://github.com/ClickHouse/ClickHouse/pull/89793) ([JIaQi](https://github.com/JiaQiTang98)).
* Corrige un posible error lógico al leer las rutas y sus subcolumnas en la serialización avanzada de datos compartidos en JSON. Cierra [#89805](https://github.com/ClickHouse/ClickHouse/issues/89805). [#89819](https://github.com/ClickHouse/ClickHouse/pull/89819) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un posible desbordamiento de pila en la deserialización binaria de los tipos de datos. Cierra [#88710](https://github.com/ClickHouse/ClickHouse/issues/88710). [#89822](https://github.com/ClickHouse/ClickHouse/pull/89822) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error lógico con una tupla vacía en la función `IN`. Cierra [#88343](https://github.com/ClickHouse/ClickHouse/issues/88343). [#89850](https://github.com/ClickHouse/ClickHouse/pull/89850) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Eliminar las funciones inyectivas de `GROUP BY` independientemente de `optimize_injective_functions_in_group_by` en el analizador antiguo por motivos de compatibilidad. Resuelve [#89854](https://github.com/ClickHouse/ClickHouse/issues/89854). [#89870](https://github.com/ClickHouse/ClickHouse/pull/89870) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Si la fusión se interrumpía, por ejemplo, por un límite de memoria, el ejecutor en segundo plano de `merge mutate` llamaba a `cancel` en la tarea de fusión sin bloqueo, pero, en este caso, la parte resultante parcialmente creada no se eliminaba (ya que no estaba terminada y en esta fase no era visible). Después de eso, la tarea de fusión se destruía, lo que provocaba la destrucción de la parte resultante. Esto revertía la transacción de disco y hacía que los datos se eliminaran de S3. Al final, esta recolección de basura se ejecutaba bajo el bloqueo del ejecutor en segundo plano de `merge mutate`. [#89875](https://github.com/ClickHouse/ClickHouse/pull/89875) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Corrige un error lógico relacionado con una tupla vacía en la función `reverse` y en `CAST`. Cierra [#89137](https://github.com/ClickHouse/ClickHouse/issues/89137). [#89908](https://github.com/ClickHouse/ClickHouse/pull/89908) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Ahora ClickHouse mostrará de forma predeterminada la base de datos del catálogo del lago de datos en la consulta `SHOW DATABASES`. [#89914](https://github.com/ClickHouse/ClickHouse/pull/89914) ([alesapin](https://github.com/alesapin)).
* Se corrige el uso de la copia nativa en GCS para las copias de seguridad. Debido a una clonación incorrecta del cliente, la copia nativa de GCS siempre fallaba y recurría a un método menos eficiente de lectura y escritura manual de los datos. [#89923](https://github.com/ClickHouse/ClickHouse/pull/89923) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el cálculo del tamaño del búfer para base32Encode. Calcular base32Encode para una columna de cadenas con tamaño inferior a 5 podía provocar fallos. Resuelve [#89911](https://github.com/ClickHouse/ClickHouse/issues/89911). [#89929](https://github.com/ClickHouse/ClickHouse/pull/89929) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió el escape incorrecto para las consultas `SHOW COLUMNS` y `SHOW FUNCTIONS`. [#89942](https://github.com/ClickHouse/ClickHouse/pull/89942) ([alesapin](https://github.com/alesapin)).
* Se corrige la validación de la URL en el motor de MongoDB cuando el nombre de usuario contiene el carácter '@'. Anteriormente, los nombres de usuario con '@' provocaban un error debido a una codificación incorrecta. [#89970](https://github.com/ClickHouse/ClickHouse/pull/89970) ([Kai Zhu](https://github.com/nauu)).
* Backport en [#90592](https://github.com/ClickHouse/ClickHouse/issues/90592): Se corrige un posible fallo durante una consulta remota con `ARRAY JOIN` dentro de `IN` y con la opción `enable_lazy_columns_replication` habilitada. Resuelve [#90361](https://github.com/ClickHouse/ClickHouse/issues/90361). [#89997](https://github.com/ClickHouse/ClickHouse/pull/89997) ([Pavel Kruglov](https://github.com/Avogar)).
* Retroportado en [#90448](https://github.com/ClickHouse/ClickHouse/issues/90448): se corrige la inferencia de valores DateTime64 incorrectos a partir de Strings en formatos de texto en algunos casos. Resuelve [#89368](https://github.com/ClickHouse/ClickHouse/issues/89368). [#90013](https://github.com/ClickHouse/ClickHouse/pull/90013) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error lógico provocado por una columna de tupla vacía en `BSONEachRow` y `MsgPack`. Cierra [#89814](https://github.com/ClickHouse/ClickHouse/issues/89814). Cierra [#71536](https://github.com/ClickHouse/ClickHouse/issues/71536). [#90018](https://github.com/ClickHouse/ClickHouse/pull/90018) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Retroportado en [#90457](https://github.com/ClickHouse/ClickHouse/issues/90457): se realizan comprobaciones de tamaño al deserializar datos de estados de agregación y otras fuentes. [#90031](https://github.com/ClickHouse/ClickHouse/pull/90031) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige el posible error 'Número no válido de filas en Chunk' al hacer JOIN con columnas duplicadas. Resuelve [#89411](https://github.com/ClickHouse/ClickHouse/issues/89411). [#90053](https://github.com/ClickHouse/ClickHouse/pull/90053) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Retroportado en [#90588](https://github.com/ClickHouse/ClickHouse/issues/90588): se corrige un posible error `Column with Array type is not represented by ColumnArray column: Replicated` durante la inserción al usar `ARRAY JOIN` con la configuración `enable_lazy_columns_replication` habilitada. [#90066](https://github.com/ClickHouse/ClickHouse/pull/90066) ([Pavel Kruglov](https://github.com/Avogar)).
* Permitir archivos que empiezan con punto en user\_files. Cierra [#89662](https://github.com/ClickHouse/ClickHouse/issues/89662). [#90079](https://github.com/ClickHouse/ClickHouse/pull/90079) ([Raúl Marín](https://github.com/Algunenano)).
* Retroportado en [#90647](https://github.com/ClickHouse/ClickHouse/issues/90647): se corrige un error lógico y un error del operador módulo en la tabla del sistema `numbers` cuando se utiliza un tamaño de paso grande. Cierra [#83398](https://github.com/ClickHouse/ClickHouse/issues/83398). [#90123](https://github.com/ClickHouse/ClickHouse/pull/90123) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Corrige un desbordamiento de enteros en el análisis sintáctico de los argumentos de Diccionario. Cierra [#78506](https://github.com/ClickHouse/ClickHouse/issues/78506). [#90171](https://github.com/ClickHouse/ClickHouse/pull/90171) ([Raúl Marín](https://github.com/Algunenano)).
* Retroportado en [#90468](https://github.com/ClickHouse/ClickHouse/issues/90468): se corrige una incompatibilidad con el particionamiento de Hive que impedía una actualización sin problemas en la versión 25.8 (soluciona el error `All hive partitioning columns must be present in the schema` durante la actualización). [#90202](https://github.com/ClickHouse/ClickHouse/pull/90202) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigieron posibles resultados incorrectos en consultas tras actualizaciones ligeras en consultas `SELECT` con la caché de condiciones de consulta activada. Corrige [#90176](https://github.com/ClickHouse/ClickHouse/issues/90176). Corrige [#90054](https://github.com/ClickHouse/ClickHouse/issues/90054). [#90204](https://github.com/ClickHouse/ClickHouse/pull/90204) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige un fallo en StorageDistributed al analizar nombres malformados de directorios de segmentos. [#90243](https://github.com/ClickHouse/ClickHouse/pull/90243) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Se corrige la conversión implícita de una cadena a un entero o a un booleano en `LogicalExpressionOptimizerPass`. Resuelve [#89803](https://github.com/ClickHouse/ClickHouse/issues/89803). [#90245](https://github.com/ClickHouse/ClickHouse/pull/90245) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se corrige el formato incorrecto de ciertos índices de omisión en la definición de la tabla, que provocaba `METADATA_MISMATCH` e impedía la creación de nuevas réplicas en la base de datos Replicated. [#90251](https://github.com/ClickHouse/ClickHouse/pull/90251) ([Nikolay Degterinsky](https://github.com/evillique)).
* Retroportado en [#90381](https://github.com/ClickHouse/ClickHouse/issues/90381): corrige una discrepancia en el recuento de filas en MergeTreeReaderIndex cuando la única parte tiene menos filas que index\_granularity. Resuelve [#89691](https://github.com/ClickHouse/ClickHouse/issues/89691). [#90254](https://github.com/ClickHouse/ClickHouse/pull/90254) ([Peng Jian](https://github.com/fastio)).
* Retroportado en [#90608](https://github.com/ClickHouse/ClickHouse/issues/90608): se corrige un error al leer subcolumnas de JSON en partes compactas que podía provocar el error `CANNOT_READ_ALL_DATA`. Resuelve [#90264](https://github.com/ClickHouse/ClickHouse/issues/90264). [#90302](https://github.com/ClickHouse/ClickHouse/pull/90302) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigen las funciones `trim`, `ltrim` y `rtrim`, que no funcionaban con dos argumentos. Resuelve [#90170](https://github.com/ClickHouse/ClickHouse/issues/90170). [#90305](https://github.com/ClickHouse/ClickHouse/pull/90305) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Retroportado en [#90625](https://github.com/ClickHouse/ClickHouse/issues/90625): se corrige un posible error lógico en prewhere para una ruta JSON inexistente con index\_granularity\_bytes=0. Resuelve [#86924](https://github.com/ClickHouse/ClickHouse/issues/86924). [#90375](https://github.com/ClickHouse/ClickHouse/pull/90375) ([Pavel Kruglov](https://github.com/Avogar)).
* Backport en [#90484](https://github.com/ClickHouse/ClickHouse/issues/90484): se corrigió un error en `L2DistanceTransposed` que provocaba fallos cuando el argumento de precisión excedía el rango válido. Cierra [#90401](https://github.com/ClickHouse/ClickHouse/issues/90401). [#90405](https://github.com/ClickHouse/ClickHouse/pull/90405) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Retroportado en [#90577](https://github.com/ClickHouse/ClickHouse/issues/90577): Se corrigieron cálculos de distancia incorrectos en `L2DistanceTransposed` al usar vectores de referencia de tipo array (que por defecto usan `Array(Float64))`) con columnas `QBit` cuyos tipos de elemento no son `Float64` (`Float32`, `BFloat16`). La función ahora convierte automáticamente el vector de referencia para que coincida con el tipo de elemento de `QBit`. Resuelve [#89976](https://github.com/ClickHouse/ClickHouse/issues/89976). [#90485](https://github.com/ClickHouse/ClickHouse/pull/90485) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Backport en [#90601](https://github.com/ClickHouse/ClickHouse/issues/90601): se corrige un error lógico causado por un caso poco frecuente en la función `equals`. Cierra [#88142](https://github.com/ClickHouse/ClickHouse/issues/88142). [#90557](https://github.com/ClickHouse/ClickHouse/pull/90557) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se corrige `CoalescingMergeTree` para tipos `Tuple`. [#88828](https://github.com/ClickHouse/ClickHouse/pull/88828) ([scanhex12](https://github.com/scanhex12)).

<div id="buildtestingpackaging-improvement">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Se corrige el error Connection refused al ejecutar ClickHouse en Docker con scripts SQL de initdb y el puerto TCP redefinido. [#88042](https://github.com/ClickHouse/ClickHouse/pull/88042) ([Grigorii](https://github.com/GSokol)).
* Se añade soporte experimental para e2k como nueva plataforma de ClickHouse. [#90159](https://github.com/ClickHouse/ClickHouse/pull/90159) ([Ramil Sattarov](https://github.com/r-a-sattarov)).
* Se elimina el uso restante de `FindPackage` en CMake. Las compilaciones no deberían depender de los paquetes del sistema. [#89380](https://github.com/ClickHouse/ClickHouse/pull/89380) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se usa la caché del compilador en las compilaciones durante la configuración de CMake (p. ej., `protoc`). [#89613](https://github.com/ClickHouse/ClickHouse/pull/89613) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se usa el sysroot de FreeBSD 13.4. [#89617](https://github.com/ClickHouse/ClickHouse/pull/89617) ([Konstantin Bogdanov](https://github.com/thevar1able)).

<div id="2510">
  ### Versión de ClickHouse 25.10, 2025-10-31
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se cambió la configuración predeterminada de `schema_inference_make_columns_nullable` para que respete la información de los metadatos de Parquet/ORC/Arrow sobre si las columnas son `Nullable`, en lugar de hacer que todo sea `Nullable`. No hay cambios para los formatos de texto. [#71499](https://github.com/ClickHouse/ClickHouse/pull/71499) ([Michael Kolupaev](https://github.com/al13n321)).
* La caché de resultados de consultas dejará de tener en cuenta la opción `log_comment`, por lo que cambiar únicamente `log_comment` en una consulta ya no provocará un fallo de caché. Existe una pequeña posibilidad de que algunos usuarios segmentaran intencionadamente su caché variando `log_comment`. Este cambio modifica ese comportamiento y, por tanto, no es retrocompatible. Utilice la opción `query_cache_tag` para este propósito. [#79878](https://github.com/ClickHouse/ClickHouse/pull/79878) ([filimonov](https://github.com/filimonov)).
* En versiones anteriores, las consultas con funciones de tabla con el mismo nombre que las funciones de implementación de los operadores se formateaban de forma incoherente. Cierra [#81601](https://github.com/ClickHouse/ClickHouse/issues/81601). Cierra [#81977](https://github.com/ClickHouse/ClickHouse/issues/81977). Cierra [#82834](https://github.com/ClickHouse/ClickHouse/issues/82834). Cierra [#82835](https://github.com/ClickHouse/ClickHouse/issues/82835). Las consultas EXPLAIN SYNTAX no siempre formatearán los operadores; el nuevo comportamiento refleja mejor el propósito de explicar la sintaxis. `clickhouse-format`, `formatQuery` y similares no formatearán las funciones como operadores si la consulta las contenía en forma funcional. [#82825](https://github.com/ClickHouse/ClickHouse/pull/82825) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se prohíbe usar el tipo `Dynamic` en las claves de `JOIN`. Esto puede dar lugar a resultados inesperados cuando se compara un valor de tipo `Dynamic` con uno de un tipo distinto de `Dynamic`. Es preferible convertir la columna `Dynamic` al tipo requerido. [#86358](https://github.com/ClickHouse/ClickHouse/pull/86358) ([Pavel Kruglov](https://github.com/Avogar)).
* La opción del servidor `storage_metadata_write_full_object_key` está activada de forma predeterminada y ya no se puede desactivar. Este es un cambio retrocompatible. Esto es solo para su información. Este cambio solo es compatible hacia adelante con las versiones 25.x. Eso significa que, si necesita revertir la nueva versión, solo podrá volver a una versión 25.x. [#87335](https://github.com/ClickHouse/ClickHouse/pull/87335) ([Sema Checherinda](https://github.com/CheSema)).
* Reducir `replicated_deduplication_window_seconds` de una semana a una hora para almacenar menos znodes en ZooKeeper cuando la tasa de inserción es baja. [#87414](https://github.com/ClickHouse/ClickHouse/pull/87414) ([Sema Checherinda](https://github.com/CheSema)).
* Se cambió el nombre de la configuración `query_plan_use_new_logical_join_step` a `query_plan_use_logical_join_step`. [#87679](https://github.com/ClickHouse/ClickHouse/pull/87679) ([Vladimir Cherkasov](https://github.com/vdimir)).
* La nueva sintaxis permite que el parámetro tokenizer del índice de texto sea más flexible. [#87997](https://github.com/ClickHouse/ClickHouse/pull/87997) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se renombraron las funciones `searchAny` y `searchAll` como `hasAnyTokens` y `hasAllTokens` para mantener una mayor coherencia con la función existente `hasToken`. [#88109](https://github.com/ClickHouse/ClickHouse/pull/88109) ([Robert Schulze](https://github.com/rschu1ze)).
* Elimina `cache_hits_threshold` de la caché del sistema de archivos. Esta funcionalidad se añadió por un colaborador externo antes de que tuviéramos la política de caché SLRU, y ahora que la tenemos, no tiene sentido mantener compatibilidad con ambas. [#88344](https://github.com/ClickHouse/ClickHouse/pull/88344) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Dos pequeños cambios en el funcionamiento de las configuraciones `min_free_disk_ratio_to_perform_insert` y `min_free_disk_bytes_to_perform_insert`: - usar bytes no reservados en lugar de bytes disponibles para determinar si se debe rechazar una inserción. Probablemente esto no sea crucial si las reservas para `background merges` y mutaciones son pequeñas en comparación con los umbrales configurados, pero parece más correcto. - No aplicar estas configuraciones a las tablas del sistema. La razón es que queremos que tablas como `query_log` sigan actualizándose. Esto ayuda mucho con la depuración. Los datos escritos en las tablas del sistema suelen ser pequeños en comparación con los datos propiamente dichos, por lo que deberían poder seguir funcionando durante mucho más tiempo con un umbral razonable de `min_free_disk_ratio_to_perform_insert`. [#88468](https://github.com/ClickHouse/ClickHouse/pull/88468) ([c-end](https://github.com/c-end)).
* Se habilita el modo asíncrono para la replicación interna de Keeper. Keeper conservará el mismo comportamiento que antes, con posibles mejoras de rendimiento. Si actualiza desde una versión anterior a la 23.9, primero debe actualizar a la 23.9+ y luego a la 25.10+. También puede establecer `keeper_server.coordination_settings.async_replication` en 0 antes de la actualización y habilitarlo una vez finalizada. [#88515](https://github.com/ClickHouse/ClickHouse/pull/88515) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se añade compatibilidad con `LIMIT` negativo y `OFFSET` negativo. Cierra [#28913](https://github.com/ClickHouse/ClickHouse/issues/28913). [#88411](https://github.com/ClickHouse/ClickHouse/pull/88411) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* El motor `Alias` crea un proxy a otra tabla. Todas las operaciones de lectura y escritura se redirigen a la tabla de destino, mientras que el alias en sí no almacena datos y solo mantiene una referencia a dicha tabla. [#87965](https://github.com/ClickHouse/ClickHouse/pull/87965) ([Kai Zhu](https://github.com/nauu)).
* Compatibilidad total con el operador `IS NOT DISTINCT FROM` (`<=>`). [#88155](https://github.com/ClickHouse/ClickHouse/pull/88155) ([simonmichal](https://github.com/simonmichal)).
* Se añadió la posibilidad de crear automáticamente estadísticas en todas las columnas adecuadas de las tablas `MergeTree`. También se añadió la configuración a nivel de tabla `auto_statistics_types`, que almacena, separadas por comas, los tipos de estadísticas que se deben crear (p. ej., `auto_statistics_types = 'minmax, uniq, countmin'`). [#87241](https://github.com/ClickHouse/ClickHouse/pull/87241) ([Anton Popov](https://github.com/CurtizJ)).
* Un nuevo índice de filtro bloom para texto, `sparse_gram`. [#79985](https://github.com/ClickHouse/ClickHouse/pull/79985) ([scanhex12](https://github.com/scanhex12)).
* Una nueva función `conv` para convertir números entre bases; actualmente admite bases de `2-36`. [#83058](https://github.com/ClickHouse/ClickHouse/pull/83058) ([hp](https://github.com/hp77-creator)).
* Se añadió compatibilidad con la sintaxis `LIMIT BY ALL`. Al igual que `GROUP BY ALL` y `ORDER BY ALL`, `LIMIT BY ALL` se expande automáticamente para usar todas las expresiones no agregadas de la cláusula SELECT como claves de LIMIT BY. Por ejemplo, `SELECT id, name, count(*) FROM table GROUP BY id LIMIT 1 BY ALL` es equivalente a `SELECT id, name, count(*) FROM table GROUP BY id LIMIT 1 BY id, name`. Esta funcionalidad simplifica las consultas cuando se quiere limitar por todas las columnas no agregadas seleccionadas sin tener que enumerarlas explícitamente. Cierra [#59152](https://github.com/ClickHouse/ClickHouse/issues/59152). [#84079](https://github.com/ClickHouse/ClickHouse/pull/84079) ([Surya Kant Ranjan](https://github.com/iit2009046)).
* Se añadió soporte para consultar Apache Paimon en ClickHouse. Esta integración permitiría a los usuarios de ClickHouse interactuar directamente con el almacenamiento en lago de datos de Paimon. [#84423](https://github.com/ClickHouse/ClickHouse/pull/84423) ([JIaQi](https://github.com/JiaQiTang98)).
* Se añadió la función de agregación `studentTTestOneSample`. [#85436](https://github.com/ClickHouse/ClickHouse/pull/85436) ([Dylan](https://github.com/DylanBlakemore)).
* La función de agregación `quantilePrometheusHistogram` acepta los límites superiores y los valores acumulados de las cubetas del histograma como argumentos, y realiza una interpolación lineal entre los límites superior e inferior de la cubeta en la que se encuentra la posición del cuantil. Se comporta de forma similar a la función `histogram_quantile` de PromQL en histogramas clásicos. [#86294](https://github.com/ClickHouse/ClickHouse/pull/86294) ([Stephen Chi](https://github.com/stephchi0)).
* Una nueva tabla del sistema para los archivos de metadatos de Delta Lake. [#87263](https://github.com/ClickHouse/ClickHouse/pull/87263) ([scanhex12](https://github.com/scanhex12)).
* Añade `ALTER TABLE REWRITE PARTS`: reescribe las partes de la tabla desde cero usando todos los ajustes nuevos (ya que algunos, como `use_const_adaptive_granularity`, solo se aplican a las partes nuevas). [#87774](https://github.com/ClickHouse/ClickHouse/pull/87774) ([Azat Khuzhin](https://github.com/azat)).
* Se añade el comando `SYSTEM RECONNECT ZOOKEEPER` para forzar la desconexión y reconexión de ZooKeeper ([https://github.com/ClickHouse/ClickHouse/issues/87317](https://github.com/ClickHouse/ClickHouse/issues/87317)). [#87318](https://github.com/ClickHouse/ClickHouse/pull/87318) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* Se limita el número de colecciones con nombre mediante la configuración `max_named_collection_num_to_warn` y `max_named_collection_num_to_throw`. Se añade la nueva métrica `NamedCollection` y el error `TOO_MANY_NAMED_COLLECTIONS`. [#87343](https://github.com/ClickHouse/ClickHouse/pull/87343) ([Pablo Marcos](https://github.com/pamarcos)).
* Se añadieron variantes optimizadas que no distinguen entre mayúsculas y minúsculas de las funciones `startsWith` y `endsWith`: `startsWithCaseInsensitive`, `endsWithCaseInsensitive`, `startsWithCaseInsensitiveUTF8` y `endsWithCaseInsensitiveUTF8`. [#87374](https://github.com/ClickHouse/ClickHouse/pull/87374) ([Guang Zhao](https://github.com/zheguang)).
* Añade una forma de definir `WORKLOAD` y `RESOURCE` en SQL mediante la sección "resources\_and\_workloads" de la configuración del servidor. [#87430](https://github.com/ClickHouse/ClickHouse/pull/87430) ([Sergei Trifonov](https://github.com/serxa)).
* Agregar una nueva configuración de tabla `min_level_for_wide_part` que permite especificar el nivel mínimo a partir del cual una parte se crea como una parte wide. [#88179](https://github.com/ClickHouse/ClickHouse/pull/88179) ([Christoph Wurm](https://github.com/cwurm)).
* Se añaden variantes recursivas de los comandos `cp`-`cpr` y `mv`-`mvr` en el cliente de Keeper. [#88570](https://github.com/ClickHouse/ClickHouse/pull/88570) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se añadió una configuración de sesión para excluir una lista de skip indexes de la materialización durante las inserciones (`exclude_materialize_skip_indexes_on_insert`). Se añadió una configuración de tabla de MergeTree para excluir una lista de skip indexes de la materialización durante la combinación (`exclude_materialize_skip_indexes_on_merge`). [#87252](https://github.com/ClickHouse/ClickHouse/pull/87252) ([George Larionov](https://github.com/george-larionov)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se implementa el tipo de dato `QBit`, que almacena vectores en formato bit-sliced, y la función `L2DistanceTransposed`, que permite la búsqueda vectorial aproximada, donde la relación entre precisión y velocidad se controla mediante un parámetro. [#87922](https://github.com/ClickHouse/ClickHouse/pull/87922) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Las funciones `searchAll` y `searchAny` ahora también funcionan con columnas que no son de texto. En esos casos, usan el tokenizador predeterminado. [#87722](https://github.com/ClickHouse/ClickHouse/pull/87722) ([Jimmy Aguilar Mena](https://github.com/Ergus)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Implementa la replicación diferida de columnas en JOIN y ARRAY JOIN. Evita convertir representaciones especiales de columnas, como Sparse y Replicated, en columnas totalmente materializadas en algunos formatos de salida. Esto evita copias innecesarias de datos en memoria. [#88752](https://github.com/ClickHouse/ClickHouse/pull/88752) ([Pavel Kruglov](https://github.com/Avogar)).
* Añade la serialización opcional de la subcolumna `.size` para las columnas String de nivel superior en tablas MergeTree, con el fin de mejorar la compresión y permitir un acceso eficiente a las subcolumnas. Introduce nuevos ajustes de MergeTree para controlar la versión de serialización y optimizar expresiones para cadenas vacías. [#82850](https://github.com/ClickHouse/ClickHouse/pull/82850) ([Amos Bird](https://github.com/amosbird)).
* Compatibilidad con la lectura en orden para Iceberg. [#88454](https://github.com/ClickHouse/ClickHouse/pull/88454) ([scanhex12](https://github.com/scanhex12)).
* Acelere algunas consultas con JOIN creando un bloom filter a partir del subárbol derecho en tiempo de ejecución y pasando este filtro al escaneo del subárbol izquierdo. Esto puede ser beneficioso para consultas como `SELECT avg(o_totalprice) FROM orders, customer, nation WHERE c_custkey = o_custkey AND c_nationkey=n_nationkey AND n_name = 'FRANCE'`. [#84772](https://github.com/ClickHouse/ClickHouse/pull/84772) ([Alexander Gololobov](https://github.com/davenger)).
* Se mejoró el rendimiento de las consultas al refactorizar el orden y la integración de la caché de condiciones de consulta (QCC) con el análisis de índices. El filtrado de la QCC ahora se aplica antes del análisis de la primary key y de los skip indexes, lo que reduce el cómputo innecesario de índices. El análisis de índices se ha ampliado para admitir varios filtros de rango, y sus resultados de filtrado ahora se vuelven a almacenar en la QCC. Esto acelera significativamente las consultas en las que el análisis de índices domina el tiempo de ejecución, especialmente las que dependen de skip indexes (p. ej., índices vectoriales o índices invertidos). [#82380](https://github.com/ClickHouse/ClickHouse/pull/82380) ([Amos Bird](https://github.com/amosbird)).
* Varias microoptimizaciones para acelerar las consultas pequeñas. [#83096](https://github.com/ClickHouse/ClickHouse/pull/83096) ([Raúl Marín](https://github.com/Algunenano)).
* Se comprimen los logs y los eventos de perfil en el protocolo nativo. En clústeres con más de 100 réplicas, los eventos de perfil sin comprimir consumen entre 1 y 10 MB/s, y la barra de progreso responde con lentitud en conexiones lentas a Internet. Esto cierra [#82533](https://github.com/ClickHouse/ClickHouse/issues/82533). [#83586](https://github.com/ClickHouse/ClickHouse/pull/83586) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora el rendimiento de la búsqueda de cadenas con distinción entre mayúsculas y minúsculas (operaciones como el filtrado, por ejemplo, `WHERE URL LIKE '%google%'`) mediante la biblioteca [StringZilla](https://github.com/ashvardanian/StringZilla), utilizando instrucciones SIMD de la CPU cuando estén disponibles. [#84161](https://github.com/ClickHouse/ClickHouse/pull/84161) ([Raúl Marín](https://github.com/Algunenano)).
* Se reduce la asignación de memoria y la copia de memoria al hacer `select` de una tabla AggregatingMergeTree con FINAL cuando la tabla tiene columnas de tipo `SimpleAggregateFunction(anyLast)`. [#84428](https://github.com/ClickHouse/ClickHouse/pull/84428) ([Duc Canh Le](https://github.com/canhld94)).
* Incorpora una lógica para aplicar pushdown a los predicados disyuntivos de JOIN. Ejemplo: en TPC-H Q7, para una condición sobre 2 tablas, n1 y n2, como `(n1.n_name = 'FRANCE' AND n2.n_name = 'GERMANY') OR (n1.n_name = 'GERMANY' AND n2.n_name = 'FRANCE')`, extraemos filtros parciales independientes para cada tabla: `n1.n_name = 'FRANCE' OR n1.n_name = 'GERMANY'` para n1 y `n2.n_name = 'GERMANY' OR n2.n_name = 'FRANCE'` para n2. [#84735](https://github.com/ClickHouse/ClickHouse/pull/84735) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Mejora el rendimiento de `LIKE` con un prefijo o sufijo al usar la nueva configuración predeterminada `optimize_rewrite_like_perfect_affix`. [#85920](https://github.com/ClickHouse/ClickHouse/pull/85920) ([Guang Zhao](https://github.com/zheguang)).
* Corrige la degradación del rendimiento provocada por una clave serializada de gran tamaño al agrupar por varias columnas de tipo cadena o numérico. Es una continuación de [#83884](https://github.com/ClickHouse/ClickHouse/pull/83884). [#85924](https://github.com/ClickHouse/ClickHouse/pull/85924) ([李扬](https://github.com/taiyang-li)).
* Se añadió la nueva configuración `joined_block_split_single_row` para reducir el uso de memoria en joins hash con muchas coincidencias por clave. Esto permite dividir en fragmentos los resultados del hash join incluso dentro de las coincidencias de una sola fila de la tabla izquierda, lo que resulta especialmente útil cuando una fila de la tabla izquierda coincide con miles o millones de filas de la tabla derecha. Antes, todas las coincidencias tenían que materializarse de una sola vez en memoria. Esto reduce el pico de uso de memoria, pero puede aumentar el uso de CPU. [#87913](https://github.com/ClickHouse/ClickHouse/pull/87913) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Mejoras en SharedMutex (mejora del rendimiento con un gran número de consultas simultáneas). [#87491](https://github.com/ClickHouse/ClickHouse/pull/87491) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora del rendimiento en la construcción del índice de texto para documentos que contienen principalmente tokens poco frecuentes. [#87546](https://github.com/ClickHouse/ClickHouse/pull/87546) ([Anton Popov](https://github.com/CurtizJ)).
* Se acelera el caso habitual del destructor de Field (mejora el rendimiento cuando hay un gran número de consultas pequeñas). [#87631](https://github.com/ClickHouse/ClickHouse/pull/87631) ([Raúl Marín](https://github.com/Algunenano)).
* Se omite el recálculo en tiempo de ejecución de las estadísticas de la tabla hash durante la optimización de JOIN (mejora el rendimiento de todas las consultas con JOIN). Se añadieron nuevos eventos de perfil `JoinOptimizeMicroseconds` y `QueryPlanOptimizeMicroseconds`. [#87683](https://github.com/ClickHouse/ClickHouse/pull/87683) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se habilita el almacenamiento en caché de marcas y se evita la E/S directa para el lector MergeTreeLazy. Esto mejora el rendimiento de las consultas con ORDER BY y un LIMIT pequeño. [#87989](https://github.com/ClickHouse/ClickHouse/pull/87989) ([Nikita Taranov](https://github.com/nickitat)).
* La consulta SELECT con la cláusula `FINAL` en una tabla `ReplacingMergeTree` con la columna `is_deleted` ahora se ejecuta más rápido gracias a una mejor paralelización de dos optimizaciones existentes: 1. la optimización `do_not_merge_across_partitions_select_final` para las particiones de la tabla que tienen solo un `part`; 2. dividir otros rangos seleccionados de la tabla en `intersecting / non-intersecting`, de modo que solo los rangos intersecting tengan que pasar por la transformación de fusión de FINAL. [#88090](https://github.com/ClickHouse/ClickHouse/pull/88090) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Reducir el impacto de no utilizar fail points (la ruta de código predeterminada cuando la depuración no está activa). [#88196](https://github.com/ClickHouse/ClickHouse/pull/88196) ([Raúl Marín](https://github.com/Algunenano)).
* Evita el escaneo completo de `system.tables` al filtrar por `uuid` (puede ser útil si solo tienes el UUID de los logs o la ruta de ZooKeeper). [#88379](https://github.com/ClickHouse/ClickHouse/pull/88379) ([Azat Khuzhin](https://github.com/azat)).
* Se ha mejorado el rendimiento de las funciones `tokens`, `hasAllTokens` y `hasAnyTokens`. [#88416](https://github.com/ClickHouse/ClickHouse/pull/88416) ([Anton Popov](https://github.com/CurtizJ)).
* Se aplicó inline a `AddedColumns::appendFromBlock` para mejorar ligeramente el rendimiento de JOIN en algunos casos. [#88455](https://github.com/ClickHouse/ClickHouse/pull/88455) ([Nikita Taranov](https://github.com/nickitat)).
* El autocompletado del cliente es más rápido y consistente al usar `system.completions` en lugar de realizar múltiples consultas a las tablas del sistema. [#84694](https://github.com/ClickHouse/ClickHouse/pull/84694) ([|2ustam](https://github.com/RuS2m)).
* Se añade el nuevo parámetro de índice de texto `dictionary_block_frontcoding_compression` para controlar la compresión del diccionario. De forma predeterminada, está habilitado para usar la compresión `front-coding`. [#87175](https://github.com/ClickHouse/ClickHouse/pull/87175) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Compacta los bloques de datos de todos los hilos antes de insertarlos en las vistas materializadas, según la configuración de `min_insert_block_size_rows_for_materialized_views` y `min_insert_block_size_bytes_for_materialized_views`. Anteriormente, si `parallel_view_processing` estaba habilitado, cada hilo que insertaba en una vista materializada específica compactaba los bloques de la inserción de forma independiente, lo que podía dar lugar a un mayor número de partes generadas. [#87280](https://github.com/ClickHouse/ClickHouse/pull/87280) ([Antonio Andelic](https://github.com/antonio2368)).
* Añade la configuración `temporary_files_buffer_size` para controlar el tamaño del búfer de escritura de archivos temporales. \* Optimiza el consumo de memoria de la operación `scatter` (usada, por ejemplo, en grace hash join) para columnas `LowCardinality`. [#88237](https://github.com/ClickHouse/ClickHouse/pull/88237) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se añadió compatibilidad con la lectura directa a partir de índices de texto con réplicas paralelas. Se mejoró el rendimiento de la lectura de índices de texto en almacenamiento de objetos. [#88262](https://github.com/ClickHouse/ClickHouse/pull/88262) ([Anton Popov](https://github.com/CurtizJ)).
* Las consultas sobre tablas de catálogos de lagos de datos usarán réplicas paralelas para el procesamiento distribuido. [#88273](https://github.com/ClickHouse/ClickHouse/pull/88273) ([scanhex12](https://github.com/scanhex12)).
* La heurística interna para ajustar el algoritmo de fusiones en segundo plano, llamada "to\_remove\_small\_parts\_at\_right", se ejecutará antes de calcular la puntuación del rango de fusión. Antes, el selector de fusiones elegía la fusión wide y después filtraba por su sufijo. Correcciones: [#85374](https://github.com/ClickHouse/ClickHouse/issues/85374). [#88736](https://github.com/ClickHouse/ClickHouse/pull/88736) ([Mikhail Artemenko](https://github.com/Michicosun)).

<div id="improvement">
  #### Mejora
</div>

* Ahora la función `generateSerialID` admite un argumento no constante que contiene el nombre de la serie. Cierra [#83750](https://github.com/ClickHouse/ClickHouse/issues/83750). [#88270](https://github.com/ClickHouse/ClickHouse/pull/88270) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió el parámetro opcional `start_value` a la función `generateSerialID` para especificar valores iniciales personalizados para nuevas series. [#88085](https://github.com/ClickHouse/ClickHouse/pull/88085) ([Manuel](https://github.com/raimannma)).
* Se agregó la opción `--semicolons_inline` en `clickhouse-format` para formatear las consultas de modo que los puntos y coma se coloquen en la última línea en lugar de en una línea nueva. [#88018](https://github.com/ClickHouse/ClickHouse/pull/88018) ([Jan Rada](https://github.com/ZelvaMan)).
* Permite configurar el throttling a nivel del servidor cuando la configuración se sobrescribe en Keeper. Cierra [#73964](https://github.com/ClickHouse/ClickHouse/issues/73964). [#74066](https://github.com/ClickHouse/ClickHouse/pull/74066) ([JIaQi](https://github.com/JiaQiTang98)).
* `mannWhitneyUTest` ya no lanza una excepción cuando ambas muestras contienen únicamente valores idénticos. Ahora devuelve un resultado válido, en consonancia con SciPy. Esto cierra: [#79814](https://github.com/ClickHouse/ClickHouse/issues/79814). [#80009](https://github.com/ClickHouse/ClickHouse/pull/80009) ([DeanNeaht](https://github.com/DeanNeaht)).
* La transacción reescrita de almacenamiento de objetos en disco elimina los blobs remotos anteriores si se confirma la transacción de metadatos. [#81787](https://github.com/ClickHouse/ClickHouse/pull/81787) ([Sema Checherinda](https://github.com/CheSema)).
* Se corrigió el paso de optimización para la expresión de igualdad redundante cuando `LowCardinality` en el tipo resultante difiere antes y después de la optimización. [#82651](https://github.com/ClickHouse/ClickHouse/pull/82651) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Cuando los clientes HTTP establecen la cabecera `X-ClickHouse-100-Continue: defer` además de `Expect: 100-continue`, ClickHouse no envía una respuesta `100 Continue` al cliente hasta que se supera la validación de la cuota, lo que evita desperdiciar ancho de banda de red al transmitir cuerpos de solicitud que de todos modos acabarían descartándose. Esto es relevante para las consultas INSERT, en las que la consulta puede enviarse en la cadena de consulta de la URL y los datos se envían en el cuerpo de la solicitud. Abortar una solicitud sin enviar el cuerpo completo impide reutilizar la conexión con HTTP/1.1, pero la latencia adicional que introduce abrir conexiones nuevas suele ser insignificante en comparación con la duración total de una operación INSERT con grandes volúmenes de datos. [#84304](https://github.com/ClickHouse/ClickHouse/pull/84304) ([c-end](https://github.com/c-end)).
* Ocultar las credenciales de S3 en los registros al usar DATABASE ENGINE = Backup con almacenamiento S3. [#85336](https://github.com/ClickHouse/ClickHouse/pull/85336) ([Kenny Sun](https://github.com/hwabis)).
* Hacer visibles para el subplan de entrada de la subconsulta correlacionada las optimizaciones del plan de consulta, posponiendo su materialización. Parte de [#79890](https://github.com/ClickHouse/ClickHouse/issues/79890). [#85455](https://github.com/ClickHouse/ClickHouse/pull/85455) ([Dmitry Novik](https://github.com/novikd)).
* Un cambio en SYSTEM DROP DATABASE REPLICA: - Al eliminar con una base de datos o al eliminar la réplica completa: también se elimina la réplica de cada tabla de la base de datos - Si se proporciona 'WITH TABLES', se elimina la réplica de cada almacenamiento - En caso contrario, la lógica no cambia; solo se elimina la réplica de las bases de datos - Al eliminar una réplica de base de datos con la ruta de Keeper: - Si se proporciona 'WITH TABLES': - Restaurar la base de datos como Atomic - Restaurar las tablas RMT a partir de la sentencia en Keeper - Eliminar la base de datos (las tablas restauradas también se eliminan) - En caso contrario, solo se elimina la réplica en la ruta de Keeper proporcionada. [#85637](https://github.com/ClickHouse/ClickHouse/pull/85637) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrige el formato inconsistente de TTL cuando contiene una función `materialize`. Cierra [#82828](https://github.com/ClickHouse/ClickHouse/issues/82828). [#85749](https://github.com/ClickHouse/ClickHouse/pull/85749) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El estado de la tabla Iceberg ya no se almacena en un objeto de almacenamiento. Esto debería permitir usar Iceberg en ClickHouse con consultas concurrentes. [#86062](https://github.com/ClickHouse/ClickHouse/pull/86062) ([Daniil Ivanik](https://github.com/divanik)).
* Convertir el bloqueo de bucket en el modo ordenado de S3Queue en un modo persistente, de forma similar a los nodos de procesamiento cuando `use_persistent_processing_nodes = 1`. Añadir inyección de fallos de Keeper en las pruebas. [#86628](https://github.com/ClickHouse/ClickHouse/pull/86628) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ofrece sugerencias cuando un usuario comete un error tipográfico en el nombre del formato. Cierra [#86761](https://github.com/ClickHouse/ClickHouse/issues/86761). [#87092](https://github.com/ClickHouse/ClickHouse/pull/87092) ([flynn](https://github.com/ucasfl)).
* Las réplicas remotas omitirán el análisis de índices si no hay proyecciones. [#87096](https://github.com/ClickHouse/ClickHouse/pull/87096) ([zoomxi](https://github.com/zoomxi)).
* Se permite deshabilitar la codificación UTF-8 para la tabla de YTsaurus. [#87150](https://github.com/ClickHouse/ClickHouse/pull/87150) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se deshabilita `s3_slow_all_threads_after_retryable_error` de forma predeterminada. [#87198](https://github.com/ClickHouse/ClickHouse/pull/87198) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Renombrar la función de tabla `arrowflight` a `arrowFlight`. [#87249](https://github.com/ClickHouse/ClickHouse/pull/87249) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se actualizó `clickhouse-benchmark` para aceptar `-` en lugar de `_` en sus opciones de la CLI. [#87251](https://github.com/ClickHouse/ClickHouse/pull/87251) ([Ahmed Gouda](https://github.com/0xgouda)).
* Realizar de forma síncrona el vaciado en `system.crash_log` durante el manejo de señales. [#87253](https://github.com/ClickHouse/ClickHouse/pull/87253) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se añadió la configuración `inject_random_order_for_select_without_order_by`, que agrega `ORDER BY rand()` a las consultas `SELECT` de nivel superior sin cláusula `ORDER BY`. [#87261](https://github.com/ClickHouse/ClickHouse/pull/87261) ([Rui Zhang](https://github.com/zhangruiddn)).
* Mejora el mensaje de error de `joinGet` para que indique correctamente que la cantidad de `join_keys` no coincide con la cantidad de `right_table_keys`. [#87279](https://github.com/ClickHouse/ClickHouse/pull/87279) ([Isak Ellmer](https://github.com/spinojara)).
* Añade la posibilidad de comprobar el estado de un nodo arbitrario de Keeper durante la transacción de escritura. Esto puede ayudar a detectar el problema ABA. [#87282](https://github.com/ClickHouse/ClickHouse/pull/87282) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Redirigir las solicitudes intensivas de ytsaurus a proxies de alta carga. [#87342](https://github.com/ClickHouse/ClickHouse/pull/87342) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Corrige las reversiones de las operaciones `unlink`/`rename`/`removeRecursive`/`removeDirectory`/etc., así como los recuentos de enlaces físicos en cualquier posible carga de trabajo de metadatos de transacciones de disco, y simplifica las interfaces para hacerlas más genéricas, de modo que puedan reutilizarse en otros almacenes de metadatos. [#87358](https://github.com/ClickHouse/ClickHouse/pull/87358) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se añadió el parámetro de configuración `keeper_server.tcp_nodelay`, que permite desactivar `TCP_NODELAY` en Keeper. [#87363](https://github.com/ClickHouse/ClickHouse/pull/87363) (Copilot).
* Se admite `--connection` en `clickhouse-benchmarks`. Funciona igual que en `clickhouse-client`: puede especificar conexiones predefinidas en el `config.xml`/`config.yaml` del cliente, en la ruta `connections_credentials`, para evitar tener que indicar explícitamente el usuario y la contraseña mediante argumentos de línea de comandos. Se añade compatibilidad con `--accept-invalid-certificate` en `clickhouse-benchmark`. [#87370](https://github.com/ClickHouse/ClickHouse/pull/87370) ([Azat Khuzhin](https://github.com/azat)).
* Ahora la configuración `max_insert_threads` se aplicará a las tablas Iceberg. [#87407](https://github.com/ClickHouse/ClickHouse/pull/87407) ([alesapin](https://github.com/alesapin)).
* Añadir histogramas y métricas dimensionales a `PrometheusMetricsWriter`. De este modo, `PrometheusRequestHandler` tendrá todas las métricas esenciales y podrá usarse para recopilar métricas de forma fiable y con baja sobrecarga en la nube. [#87521](https://github.com/ClickHouse/ClickHouse/pull/87521) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* La función `hasToken` ahora devuelve cero coincidencias para el token vacío (mientras que antes esto provocaba una excepción). [#87564](https://github.com/ClickHouse/ClickHouse/pull/87564) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Se añade compatibilidad con índices de texto para los valores `Array` y `Map` (`mapKeys` y `mapValues`). Las funciones compatibles son `mapContainsKey` y `has`. [#87602](https://github.com/ClickHouse/ClickHouse/pull/87602) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se añade una nueva métrica `ZooKeeperSessionExpired`, que indica el número de sesiones globales de ZooKeeper expiradas. [#87613](https://github.com/ClickHouse/ClickHouse/pull/87613) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Utilice el cliente de almacenamiento S3 con ajustes específicos de backup (por ejemplo, backup\_slow\_all\_threads\_after\_retryable\_s3\_error) para la copia del lado del servidor (nativa) en un destino de backup. Marque s3\_slow\_all\_threads\_after\_retryable\_error como obsoleto. [#87660](https://github.com/ClickHouse/ClickHouse/pull/87660) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrige el manejo incorrecto de las configuraciones `max_joined_block_size_rows` y `max_joined_block_size_bytes` durante la serialización del plan de consulta con la opción experimental `make_distributed_plan`. [#87675](https://github.com/ClickHouse/ClickHouse/pull/87675) ([Vladimir Cherkasov](https://github.com/vdimir)).
* La configuración `enable_http_compression` pasa a ser la predeterminada. Esto significa que, si un cliente acepta compresión HTTP, el servidor la usará. Sin embargo, este cambio tiene ciertos inconvenientes. El cliente puede solicitar un método de compresión costoso, como `bzip2`, lo cual no resulta razonable, y esto aumentará el consumo de recursos del servidor (aunque solo se notará cuando se transfieran resultados voluminosos). El cliente puede solicitar `gzip`, que no está mal, pero es subóptimo en comparación con `zstd`. Cierra [#71591](https://github.com/ClickHouse/ClickHouse/issues/71591). [#87703](https://github.com/ClickHouse/ClickHouse/pull/87703) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió una nueva entrada en `system.server_settings`, `keeper_hosts`, que muestra la lista de hosts de \[Zoo]Keeper a los que ClickHouse puede conectarse. [#87718](https://github.com/ClickHouse/ClickHouse/pull/87718) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añaden los valores `from` y `to` a los dashboards del sistema para facilitar las investigaciones históricas. [#87823](https://github.com/ClickHouse/ClickHouse/pull/87823) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se añadió más información para el seguimiento del rendimiento en las consultas SELECT de Iceberg. [#87903](https://github.com/ClickHouse/ClickHouse/pull/87903) ([Daniil Ivanik](https://github.com/divanik)).
* Mejora de la caché del sistema de archivos: reutilización del iterador de prioridad de la caché entre hilos que reservan espacio en la caché de forma simultánea. [#87914](https://github.com/ClickHouse/ClickHouse/pull/87914) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadió la posibilidad de limitar las solicitudes de `Keeper` (configuración `max_request_size`, igual que `jute.maxbuffer` para `ZooKeeper`, desactivada de forma predeterminada por compatibilidad con versiones anteriores; se activará en las próximas versiones). [#87952](https://github.com/ClickHouse/ClickHouse/pull/87952) ([Azat Khuzhin](https://github.com/azat)).
* Hacer que `clickhouse-benchmark` ya no incluya stacktraces en los mensajes de error de forma predeterminada. [#87954](https://github.com/ClickHouse/ClickHouse/pull/87954) ([Ahmed Gouda](https://github.com/0xgouda)).
* Evite usar la carga asíncrona de marks en el thread pool (`load_marks_asynchronously=1`) cuando los marks estén en caché (ya que el pool puede estar saturado y las consultas incurrirán en una penalización por ello incluso si los marks ya están en caché). [#87967](https://github.com/ClickHouse/ClickHouse/pull/87967) ([Azat Khuzhin](https://github.com/azat)).
* Ytsaurus: permitir la creación de tablas/funciones de tabla/diccionarios con un subconjunto de columnas. [#87982](https://github.com/ClickHouse/ClickHouse/pull/87982) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* A partir de ahora, `system.zookeeper_connection_log` está activado de forma predeterminada y se puede usar para obtener información sobre las sesiones de Keeper. [#88011](https://github.com/ClickHouse/ClickHouse/pull/88011) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Hacer que el comportamiento de TCP y HTTP sea coherente cuando se pasan tablas externas duplicadas. HTTP permite pasar una tabla temporal varias veces. [#88032](https://github.com/ClickHouse/ClickHouse/pull/88032) ([Sema Checherinda](https://github.com/CheSema)).
* Elimina los MemoryPools personalizados para leer Arrow/ORC/Parquet. Este componente parece innecesario después de [#84082](https://github.com/ClickHouse/ClickHouse/pull/84082), porque ahora se rastrean todas las asignaciones de memoria de todos modos. [#88035](https://github.com/ClickHouse/ClickHouse/pull/88035) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se permite crear una base de datos `Replicated` sin argumentos. [#88044](https://github.com/ClickHouse/ClickHouse/pull/88044) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* `clickhouse-keeper-client`: Se añadió compatibilidad para conectarse al puerto TLS de clickhouse-keeper; los nombres de las opciones se mantuvieron igual que en clickhouse-client. [#88065](https://github.com/ClickHouse/ClickHouse/pull/88065) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* Se añadió un nuevo evento de perfil para registrar cuántas veces se rechazó un merge en segundo plano por superar los límites de memoria. [#88084](https://github.com/ClickHouse/ClickHouse/pull/88084) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* Habilita el analizador para validar las expresiones predeterminadas de las columnas en CREATE/ALTER TABLE. [#88087](https://github.com/ClickHouse/ClickHouse/pull/88087) ([Max Justus Spransy](https://github.com/maxjustus)).
* Mejora en la planificación interna de consultas: usar JoinStepLogical para `CROSS JOIN`. [#88151](https://github.com/ClickHouse/ClickHouse/pull/88151) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se añadió un alias a las funciones `hasAnyTokens` (`hasAnyToken`) y `hasAllTokens` (`hasAllToken`). [#88162](https://github.com/ClickHouse/ClickHouse/pull/88162) ([George Larionov](https://github.com/george-larionov)).
* Habilita de forma predeterminada el profiler de muestreo global (es decir, también para los hilos del servidor no relacionados con las consultas): recopila stacktraces de todos los hilos cada 10 segundos de tiempo de CPU y de tiempo real. [#88209](https://github.com/ClickHouse/ClickHouse/pull/88209) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se actualiza el SDK de Azure para incluir la corrección de 'Content-Length' observada en las funciones de copia y creación de contenedores. [#88278](https://github.com/ClickHouse/ClickHouse/pull/88278) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* La función `lag` ahora no distingue entre mayúsculas y minúsculas para mantener la compatibilidad con MySQL. [#88322](https://github.com/ClickHouse/ClickHouse/pull/88322) ([Lonny Kapelushnik](https://github.com/lonnylot)).
* Se permite iniciar `clickhouse-local` desde el directorio `clickhouse-server`. En versiones anteriores, producía el error `Cannot parse UUID: .` Ahora puede iniciar clickhouse-local y manipular las bases de datos del servidor sin iniciar el servidor. [#88383](https://github.com/ClickHouse/ClickHouse/pull/88383) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade la configuración `keeper_server.coordination_settings.check_node_acl_on_remove`. Si está habilitada, antes de cada eliminación de un nodo se verificarán las ACL tanto del propio nodo como del nodo padre. De lo contrario, solo se verificará la ACL del nodo padre. [#88513](https://github.com/ClickHouse/ClickHouse/pull/88513) ([Antonio Andelic](https://github.com/antonio2368)).
* Las columnas `JSON` ahora se muestran con un formato legible al usar el formato `Vertical`. Cierra [#81794](https://github.com/ClickHouse/ClickHouse/issues/81794). [#88524](https://github.com/ClickHouse/ClickHouse/pull/88524) ([Frank Rosner](https://github.com/FRosner)).
* Almacena los archivos de `clickhouse-client` (p. ej., el historial de consultas) en las ubicaciones descritas en la especificación [XDG Base Directories](https://specifications.freedesktop.org/basedir-spec/latest/index.html), en lugar de en la raíz del directorio personal. `~/.clickhouse-client-history` se seguirá usando si ya existe. [#88538](https://github.com/ClickHouse/ClickHouse/pull/88538) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige una fuga de memoria provocada por `GLOBAL IN` ([https://github.com/ClickHouse/ClickHouse/issues/88615](https://github.com/ClickHouse/ClickHouse/issues/88615)). [#88617](https://github.com/ClickHouse/ClickHouse/pull/88617) ([pranavmehta94](https://github.com/pranavmehta94)).
* Se añadió una sobrecarga a hasAny/hasAllTokens para aceptar una cadena como entrada. [#88679](https://github.com/ClickHouse/ClickHouse/pull/88679) ([George Larionov](https://github.com/george-larionov)).
* Añadir un paso al script de postinstalación de `clickhouse-keeper` para habilitar el inicio al arrancar. [#88746](https://github.com/ClickHouse/ClickHouse/pull/88746) ([YenchangChan](https://github.com/YenchangChan)).
* Comprobar las credenciales en la web UI solo al pegarlas, en lugar de hacerlo con cada pulsación de tecla. Así se evita un problema con servidores LDAP mal configurados. Esto cierra [#85777](https://github.com/ClickHouse/ClickHouse/issues/85777). [#88769](https://github.com/ClickHouse/ClickHouse/pull/88769) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Limita la longitud del mensaje de excepción cuando se incumple una restricción. En versiones anteriores, se podía obtener un mensaje de excepción muy largo al insertar una cadena muy larga, y este acababa escribiéndose en el query\_log. Cierra [#87032](https://github.com/ClickHouse/ClickHouse/issues/87032). [#88801](https://github.com/ClickHouse/ClickHouse/pull/88801) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió la solicitud de la estructura de un conjunto de datos al servidor ArrowFlight durante la creación de una tabla. [#87542](https://github.com/ClickHouse/ClickHouse/pull/87542) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Se corrigió GeoParquet, que provocaba errores en el protocolo del cliente. [#84020](https://github.com/ClickHouse/ClickHouse/pull/84020) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige la resolución de funciones que dependen del host, como shardNum(), en subconsultas en el nodo iniciador. [#84409](https://github.com/ClickHouse/ClickHouse/pull/84409) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrigió el manejo incorrecto de fechas anteriores al epoch con fracciones de segundo en varias funciones relacionadas con fecha y hora, como `parseDateTime64BestEffort`, `change{Year,Month,Day}` y `makeDateTime64`. Anteriormente, la parte fraccionaria de los segundos se restaba de los segundos en lugar de sumarse. Por ejemplo, `parseDateTime64BestEffort('1969-01-01 00:00:00.468')` devolvía `1968-12-31 23:59:59.532` en lugar de `1969-01-01 00:00:00.468`. [#85396](https://github.com/ClickHouse/ClickHouse/pull/85396) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrige el fallo de los comandos ALTER COLUMN IF EXISTS cuando el estado de la columna cambia dentro de la misma sentencia ALTER. Los comandos como DROP COLUMN IF EXISTS, MODIFY COLUMN IF EXISTS, COMMENT COLUMN IF EXISTS y RENAME COLUMN IF EXISTS ahora gestionan correctamente los casos en que una columna se elimina mediante un comando previo en la misma sentencia. [#86046](https://github.com/ClickHouse/ClickHouse/pull/86046) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrigió la inferencia de Date/DateTime/DateTime64 para fechas fuera del rango admitido. [#86184](https://github.com/ClickHouse/ClickHouse/pull/86184) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un fallo por el que algunos datos válidos enviados por usuarios a una columna `AggregateFunction(quantileDD)` podían hacer que las fusiones recursaran infinitamente. [#86560](https://github.com/ClickHouse/ClickHouse/pull/86560) ([Raphaël Thériault](https://github.com/raphael-theriault-swi)).
* Compatibilidad con tipos JSON/Dynamic en tablas creadas con la función de tabla `cluster`. [#86821](https://github.com/ClickHouse/ClickHouse/pull/86821) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el problema por el que el resultado de la función calculada en la CTE no era determinista en la consulta. [#86967](https://github.com/ClickHouse/ClickHouse/pull/86967) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrigió LOGICAL\_ERROR en EXPLAIN con pointInPolygon en las columnas de la clave primaria. [#86971](https://github.com/ClickHouse/ClickHouse/pull/86971) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigen las tablas de lago de datos cuyo nombre contiene una secuencia codificada mediante porcentaje. Cierra [#86626](https://github.com/ClickHouse/ClickHouse/issues/86626). [#87020](https://github.com/ClickHouse/ClickHouse/pull/87020) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Se corrigió el comportamiento incorrecto de `IS NULL` en columnas Nullable en `OUTER JOIN` con `optimize_functions_to_subcolumns`, cierra [#78625](https://github.com/ClickHouse/ClickHouse/issues/78625). [#87058](https://github.com/ClickHouse/ClickHouse/pull/87058) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió el cómputo incorrecto de las liberaciones de datos temporales en el seguimiento del límite de `max_temporary_data_on_disk_size`, cierra [#87118](https://github.com/ClickHouse/ClickHouse/issues/87118). [#87140](https://github.com/ClickHouse/ClickHouse/pull/87140) ([JIaQi](https://github.com/JiaQiTang98)).
* La función checkHeaders ahora valida correctamente las cabeceras proporcionadas y rechaza las cabeceras no permitidas. Autor original: Michael Anastasakis (@michael-anastasakis). [#87172](https://github.com/ClickHouse/ClickHouse/pull/87172) ([Raúl Marín](https://github.com/Algunenano)).
* Hace que `toDate` y `toDate32` tengan el mismo comportamiento para todos los tipos numéricos. Corrige la comprobación de underflow de Date32 al convertir desde int16. [#87176](https://github.com/ClickHouse/ClickHouse/pull/87176) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrigió un error lógico con parallel replicas en consultas con múltiples JOINs, en particular con RIGHT JOIN después de LEFT/INNER JOIN. [#87178](https://github.com/ClickHouse/ClickHouse/pull/87178) ([Igor Nikonov](https://github.com/devcrafter)).
* Se respeta la configuración `input_format_try_infer_variants` en la caché de inferencia de esquemas. [#87180](https://github.com/ClickHouse/ClickHouse/pull/87180) ([Pavel Kruglov](https://github.com/Avogar)).
* Hacer que `pathStartsWith` coincida solo con rutas bajo el prefijo. [#87181](https://github.com/ClickHouse/ClickHouse/pull/87181) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrigieron errores lógicos en la columna virtual `_row_number` y en las eliminaciones por posición de Iceberg. [#87220](https://github.com/ClickHouse/ClickHouse/pull/87220) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigió `LOGICAL_ERROR` "Too large size passed to allocator" en `JOIN` debido a la mezcla de bloques const y non-const. [#87231](https://github.com/ClickHouse/ClickHouse/pull/87231) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigieron las actualizaciones ligeras con subconsultas que leen desde otras tablas `MergeTree`. [#87285](https://github.com/ClickHouse/ClickHouse/pull/87285) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió la optimización `move-to-prewhere`, que no funcionaba cuando había una política de filas. Continuación de [#85118](https://github.com/ClickHouse/ClickHouse/issues/85118). Cierra [#69777](https://github.com/ClickHouse/ClickHouse/issues/69777). Cierra [#83748](https://github.com/ClickHouse/ClickHouse/issues/83748). [#87303](https://github.com/ClickHouse/ClickHouse/pull/87303) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió la aplicación de parches a columnas con expresión por defecto ausentes en las partes de datos. [#87347](https://github.com/ClickHouse/ClickHouse/pull/87347) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió un error de segmentación al usar nombres de campos de partición duplicados en tablas MergeTree. [#87365](https://github.com/ClickHouse/ClickHouse/pull/87365) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrigió la actualización de EmbeddedRocksDB. [#87392](https://github.com/ClickHouse/ClickHouse/pull/87392) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrigió la lectura directa desde el índice de texto en almacenamiento de objetos. [#87399](https://github.com/ClickHouse/ClickHouse/pull/87399) ([Anton Popov](https://github.com/CurtizJ)).
* Evita la creación de privilegios con un motor inexistente. [#87419](https://github.com/ClickHouse/ClickHouse/pull/87419) ([Jitendra](https://github.com/jitendra1411)).
* Ignorar únicamente los errores `not found` para `s3_plain_rewritable` (lo que puede provocar todo tipo de problemas). [#87426](https://github.com/ClickHouse/ClickHouse/pull/87426) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen los diccionarios con origen YTSaurus y layouts *range\_hashed*. [#87490](https://github.com/ClickHouse/ClickHouse/pull/87490) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se corrigió un problema al crear un array de tuplas vacías. [#87520](https://github.com/ClickHouse/ClickHouse/pull/87520) ([Pavel Kruglov](https://github.com/Avogar)).
* Comprobación de columnas no válidas durante la creación de tablas temporales. [#87524](https://github.com/ClickHouse/ClickHouse/pull/87524) ([Pavel Kruglov](https://github.com/Avogar)).
* No coloque nunca las columnas de partición de Hive en el encabezado del formato. Corrige [#87515](https://github.com/ClickHouse/ClickHouse/issues/87515). [#87528](https://github.com/ClickHouse/ClickHouse/pull/87528) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrige la preparación de la lectura desde DeltaLake cuando se usa el formato de texto. [#87529](https://github.com/ClickHouse/ClickHouse/pull/87529) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige la validación de acceso para select e insert en tablas Buffer. [#87545](https://github.com/ClickHouse/ClickHouse/pull/87545) ([pufit](https://github.com/pufit)).
* No se permite crear un índice de omisión de datos para una tabla S3. [#87554](https://github.com/ClickHouse/ClickHouse/pull/87554) ([Bharat Nallan](https://github.com/bharatnc)).
* Se evita la fuga de memoria contabilizada en el logging asíncrono (puede tener una desviación significativa; en 10 horas, \~100GiB) y en text\_log (es posible casi la misma desviación). [#87584](https://github.com/ClickHouse/ClickHouse/pull/87584) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un error que podía hacer que la configuración global del servidor se sobrescribiera con la configuración de SELECT de una vista o vista materializada si esa vista se eliminaba de forma asíncrona y el servidor se reiniciaba antes de que terminara la limpieza en segundo plano. [#87603](https://github.com/ClickHouse/ClickHouse/pull/87603) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Excluir los bytes de la caché de páginas en espacio de usuario (si es posible) al calcular la alerta de sobrecarga de memoria. [#87610](https://github.com/ClickHouse/ClickHouse/pull/87610) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrigió un error por el que un orden incorrecto de tipos durante la deserialización de CSV provocaba `LOGICAL_ERROR`. [#87622](https://github.com/ClickHouse/ClickHouse/pull/87622) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrige el manejo incorrecto de `command_read_timeout` en diccionarios ejecutables. [#87627](https://github.com/ClickHouse/ClickHouse/pull/87627) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió el comportamiento incorrecto de SELECT \* REPLACE en la cláusula WHERE al filtrar columnas reemplazadas con el nuevo analizador. [#87630](https://github.com/ClickHouse/ClickHouse/pull/87630) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrigió la agregación de dos niveles al usar `Merge` sobre `Distributed`. [#87687](https://github.com/ClickHouse/ClickHouse/pull/87687) ([c-end](https://github.com/c-end)).
* Se corrige la generación del bloque de salida en el algoritmo HashJoin cuando no se usa la lista de filas de la derecha. Corrige [#87401](https://github.com/ClickHouse/ClickHouse/issues/87401). [#87699](https://github.com/ClickHouse/ClickHouse/pull/87699) ([Dmitry Novik](https://github.com/novikd)).
* El modo de lectura con réplicas paralelas podía seleccionarse incorrectamente si, tras aplicar el análisis de índices, no quedaban datos por leer. Cierra [#87653](https://github.com/ClickHouse/ClickHouse/issues/87653). [#87700](https://github.com/ClickHouse/ClickHouse/pull/87700) ([zoomxi](https://github.com/zoomxi)).
* Se corrige el manejo de las columnas `timestamp` / `timestamptz` en Glue. [#87733](https://github.com/ClickHouse/ClickHouse/pull/87733) ([Andrey Zvonov](https://github.com/zvonand)).
* Cierra [#86587](https://github.com/ClickHouse/ClickHouse/issues/86587). [#87761](https://github.com/ClickHouse/ClickHouse/pull/87761) ([scanhex12](https://github.com/scanhex12)).
* Se corrigió la escritura de valores booleanos en la interfaz de PostgreSQL. [#87762](https://github.com/ClickHouse/ClickHouse/pull/87762) ([Artem Yurov](https://github.com/ArtemYurov)).
* Se corrige el error de tabla desconocida en la consulta `INSERT SELECT` con CTE, [#85368](https://github.com/ClickHouse/ClickHouse/issues/85368). [#87789](https://github.com/ClickHouse/ClickHouse/pull/87789) ([Guang Zhao](https://github.com/zheguang)).
* Se corrigió la lectura de la subcolumna map nula de Variants que no pueden estar dentro de Nullable. [#87798](https://github.com/ClickHouse/ClickHouse/pull/87798) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió el manejo de errores cuando no se podía eliminar por completo la base de datos del clúster en el nodo secundario. [#87802](https://github.com/ClickHouse/ClickHouse/pull/87802) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige varios fallos en los índices de omisión. [#87817](https://github.com/ClickHouse/ClickHouse/pull/87817) ([Raúl Marín](https://github.com/Algunenano)).
* En AzureBlobStorage, se actualizó para intentar primero la copia nativa y, en caso de error 'Unauthroized', recurrir a lectura y escritura (en AzureBlobStorage, si las cuentas de almacenamiento del origen y el destino son diferentes, obtenemos un error 'Unauthorized'). También se corrigió la aplicación de "use\_native\_copy" cuando el endpoint está definido en la configuración. [#87826](https://github.com/ClickHouse/ClickHouse/pull/87826) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* ClickHouse se bloquea si el archivo ArrowStream contiene un diccionario no único. [#87863](https://github.com/ClickHouse/ClickHouse/pull/87863) ([Ilya Golshtein](https://github.com/ilejn)).
* Se corrigió un fallo fatal al usar approx\_top\_k y finalizeAggregation. [#87892](https://github.com/ClickHouse/ClickHouse/pull/87892) ([Jitendra](https://github.com/jitendra1411)).
* Corrige el merge con proyecciones cuando el último bloque está vacío. [#87928](https://github.com/ClickHouse/ClickHouse/pull/87928) ([Raúl Marín](https://github.com/Algunenano)).
* No se eliminan las funciones inyectivas de GROUP BY si los tipos de los argumentos no están permitidos en GROUP BY. [#87958](https://github.com/ClickHouse/ClickHouse/pull/87958) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrección de la eliminación incorrecta de gránulos/particiones en claves basadas en fecha y hora al usar la configuración `session_timezone` en las consultas. [#87987](https://github.com/ClickHouse/ClickHouse/pull/87987) ([Eduard Karacharov](https://github.com/korowa)).
* Devuelve el número de filas afectadas tras una consulta en la Interfaz de PostgreSQL. [#87990](https://github.com/ClickHouse/ClickHouse/pull/87990) ([Artem Yurov](https://github.com/ArtemYurov)).
* Se restringe el uso de `filter pushdown` en `PASTE JOIN` porque puede provocar resultados incorrectos. [#88078](https://github.com/ClickHouse/ClickHouse/pull/88078) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Aplica la normalización de URI antes de evaluar la comprobación de grants introducida por [https://github.com/ClickHouse/ClickHouse/pull/84503](https://github.com/ClickHouse/ClickHouse/pull/84503). [#88089](https://github.com/ClickHouse/ClickHouse/pull/88089) ([pufit](https://github.com/pufit)).
* Se corrige un error lógico cuando ARRAY JOIN COLUMNS() no encuentra ninguna columna en el nuevo analizador. [#88091](https://github.com/ClickHouse/ClickHouse/pull/88091) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Corregir la advertencia "Alto uso de memoria de ClickHouse" (excluyendo la caché de páginas). [#88092](https://github.com/ClickHouse/ClickHouse/pull/88092) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió una posible corrupción de datos en tablas `MergeTree` con la columna `TTL` configurada. [#88095](https://github.com/ClickHouse/ClickHouse/pull/88095) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió una posible excepción no capturada al leer `system.tables` con bases de datos externas (`PostgreSQL`/`SQLite`/...) adjuntas que contienen tablas no válidas. [#88105](https://github.com/ClickHouse/ClickHouse/pull/88105) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un cierre inesperado en las funciones `mortonEncode` y `hilbertEncode` al llamarlas con un argumento de tupla vacío. [#88110](https://github.com/ClickHouse/ClickHouse/pull/88110) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Ahora las consultas `ON CLUSTER` tardarán menos cuando haya réplicas inactivas en el clúster. [#88153](https://github.com/ClickHouse/ClickHouse/pull/88153) ([alesapin](https://github.com/alesapin)).
* Ahora, la limpieza del worker de DDL elimina del conjunto de réplicas los hosts obsoletos. Esto reducirá la cantidad de metadatos almacenados en ZooKeeper. [#88154](https://github.com/ClickHouse/ClickHouse/pull/88154) ([alesapin](https://github.com/alesapin)).
* Se corrigió la ejecución de ClickHouse sin cgroups (por error, los cgroups pasaron a ser un requisito para las métricas asíncronas). [#88164](https://github.com/ClickHouse/ClickHouse/pull/88164) ([Azat Khuzhin](https://github.com/azat)).
* Deshacer correctamente la operación de mover el directorio en caso de error. Necesitamos reescribir todos los objetos `prefix.path` modificados durante la ejecución, no solo el de la raíz. [#88198](https://github.com/ClickHouse/ClickHouse/pull/88198) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se corrigió la propagación de la bandera `is_shared` en `ColumnLowCardinality`. Esto puede dar lugar a un resultado incorrecto en un `GROUP BY` si se inserta un valor nuevo en una columna después de que los valores hash ya se hayan precalculado y almacenado en caché en el `ReverseIndex`. [#88213](https://github.com/ClickHouse/ClickHouse/pull/88213) ([Nikita Taranov](https://github.com/nickitat)).
* Corrige el ajuste de workload `max_cpu_share`. Ahora puede usarse sin tener configurado el ajuste de workload `max_cpus`. [#88217](https://github.com/ClickHouse/ClickHouse/pull/88217) ([Neerav](https://github.com/neeravsalaria)).
* Se corrige un error por el que mutaciones muy pesadas con subconsultas podían quedarse bloqueadas en la fase de preparación. Ahora es posible detener estas mutaciones con `SYSTEM STOP MERGES`. [#88241](https://github.com/ClickHouse/ClickHouse/pull/88241) ([alesapin](https://github.com/alesapin)).
* Ahora las subconsultas correlacionadas funcionarán con sistemas de almacenamiento de objetos. [#88290](https://github.com/ClickHouse/ClickHouse/pull/88290) ([alesapin](https://github.com/alesapin)).
* Evita intentar inicializar bases de datos DataLake al acceder a `system.projections` y `system.data_skipping_indices`. [#88330](https://github.com/ClickHouse/ClickHouse/pull/88330) ([Azat Khuzhin](https://github.com/azat)).
* Ahora, los catálogos de data lakes solo se mostrarán en las tablas de introspección del sistema si `show_data_lake_catalogs_in_system_tables` se habilita explícitamente. [#88341](https://github.com/ClickHouse/ClickHouse/pull/88341) ([alesapin](https://github.com/alesapin)).
* Se corrigió DatabaseReplicated para que respete la configuración `interserver_http_host`. [#88378](https://github.com/ClickHouse/ClickHouse/pull/88378) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Los argumentos posicionales ahora quedan deshabilitados explícitamente al definir proyecciones, ya que no tienen sentido en esta etapa interna de la consulta. Esto corrige [#48604](https://github.com/ClickHouse/ClickHouse/issues/48604). [#88380](https://github.com/ClickHouse/ClickHouse/pull/88380) ([Amos Bird](https://github.com/amosbird)).
* Se corrige la complejidad cuadrática en la función `countMatches`. Cierra [#88400](https://github.com/ClickHouse/ClickHouse/issues/88400). [#88401](https://github.com/ClickHouse/ClickHouse/pull/88401) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Hacer que los comandos `ALTER COLUMN ... COMMENT` para tablas KeeperMap replicadas queden registrados en los metadatos de la base de datos Replicated y se propaguen a todas las réplicas. Cierra [#88077](https://github.com/ClickHouse/ClickHouse/issues/88077). [#88408](https://github.com/ClickHouse/ClickHouse/pull/88408) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige un caso de dependencia cíclica falsa con vistas materializadas en Database Replicated, que impedía añadir nuevas réplicas a la base de datos. [#88423](https://github.com/ClickHouse/ClickHouse/pull/88423) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió la agregación de columnas dispersas cuando `group_by_overflow_mode` se establece en `any`. [#88440](https://github.com/ClickHouse/ClickHouse/pull/88440) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrige el error "columna no encontrada" al usar `query_plan_use_logical_join_step=0` con varias cláusulas FULL JOIN USING. Cierra [#88103](https://github.com/ClickHouse/ClickHouse/issues/88103). [#88473](https://github.com/ClickHouse/ClickHouse/pull/88473) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Los clusters grandes con más de 10 nodos tienen una alta probabilidad de que falle la restauración con el error `[941] 67c45db4-4df4-4879-87c5-25b8d1e0d414 <Trace>: RestoreCoordinationOnCluster The version of node /clickhouse/backups/restore-7c551a77-bd76-404c-bad0-3213618ac58e/stage/num_hosts changed (attempt #9), will try again`. El nodo `num_hosts` se sobrescribe por muchos hosts al mismo tiempo. La corrección hace que la configuración para controlar los intentos sea dinámica. Cierra [#87721](https://github.com/ClickHouse/ClickHouse/issues/87721). [#88484](https://github.com/ClickHouse/ClickHouse/pull/88484) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Este PR solo busca mantener la compatibilidad con 23.8 y versiones anteriores. El problema de compatibilidad se introdujo en este PR: [https://github.com/ClickHouse/ClickHouse/pull/54240](https://github.com/ClickHouse/ClickHouse/pull/54240). Este SQL fallará con `enable_analyzer=0` (antes de 23.8, funcionaba correctamente). [#88491](https://github.com/ClickHouse/ClickHouse/pull/88491) ([JIaQi](https://github.com/JiaQiTang98)).
* Se corrige el desbordamiento de enteros de UBSAN en el mensaje de error de `accurateCast` al convertir valores grandes a DateTime. [#88520](https://github.com/ClickHouse/ClickHouse/pull/88520) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrige el coalescing merge tree para tipos Tuple. Esto cierra [#88469](https://github.com/ClickHouse/ClickHouse/issues/88469). [#88526](https://github.com/ClickHouse/ClickHouse/pull/88526) ([scanhex12](https://github.com/scanhex12)).
* Se prohíben las eliminaciones para `iceberg_format_version=1`. Esto cierra [#88444](https://github.com/ClickHouse/ClickHouse/issues/88444). [#88532](https://github.com/ClickHouse/ClickHouse/pull/88532) ([scanhex12](https://github.com/scanhex12)).
* Este parche corrige la operación de movimiento en los discos `plain-rewritable` para carpetas con cualquier nivel de profundidad. [#88586](https://github.com/ClickHouse/ClickHouse/pull/88586) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se corrige SQL SECURITY DEFINER en las funciones \*cluster. [#88588](https://github.com/ClickHouse/ClickHouse/pull/88588) ([Julian Maicher](https://github.com/jmaicher)).
* Corrige un posible cierre inesperado causado por la mutación concurrente de las columnas const subyacentes de PREWHERE. [#88605](https://github.com/ClickHouse/ClickHouse/pull/88605) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió la lectura en el índice de texto y se habilitó la caché de condiciones de consulta (con las opciones `use_skip_indexes_on_data_read` y `use_query_condition_cache` habilitadas). [#88660](https://github.com/ClickHouse/ClickHouse/pull/88660) ([Anton Popov](https://github.com/CurtizJ)).
* Una excepción `Poco::TimeoutException` lanzada desde `Poco::Net::HTTPChunkedStreamBuf::readFromDevice` provoca una caída con SIGABRT. [#88668](https://github.com/ClickHouse/ClickHouse/pull/88668) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Retroportado en [#88910](https://github.com/ClickHouse/ClickHouse/issues/88910): Tras la recuperación, una réplica de una base de datos Replicated podía quedarse atascada durante mucho tiempo mostrando mensajes como `Failed to marked query-0004647339 as finished (finished=No node, synced=No node)`; ya se ha corregido. [#88671](https://github.com/ClickHouse/ClickHouse/pull/88671) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se corrigió la adición a `system.zookeeper_connection_log` en caso de que ClickHouse se conecte por primera vez después de recargar la configuración. [#88728](https://github.com/ClickHouse/ClickHouse/pull/88728) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió un error por el que la conversión de DateTime64 a Date con `date_time_overflow_behavior = 'saturate'` podía producir resultados incorrectos para valores fuera de rango al trabajar con zonas horarias. [#88737](https://github.com/ClickHouse/ClickHouse/pull/88737) ([Manuel](https://github.com/raimannma)).
* Enésimo intento de corregir el error "having zero bytes error" con el motor de tabla S3 y la caché habilitada. [#88740](https://github.com/ClickHouse/ClickHouse/pull/88740) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige la validación de acceso en SELECT para la table function `loop`. [#88802](https://github.com/ClickHouse/ClickHouse/pull/88802) ([pufit](https://github.com/pufit)).
* Capturar excepciones cuando falle el logging asíncrono para evitar que el programa aborte. [#88814](https://github.com/ClickHouse/ClickHouse/pull/88814) ([Raúl Marín](https://github.com/Algunenano)).
* Retroportado en [#89060](https://github.com/ClickHouse/ClickHouse/issues/89060): Se corrige `top_k` para que respete el parámetro threshold cuando se llama con un solo argumento. Cierra [#88757](https://github.com/ClickHouse/ClickHouse/issues/88757). [#88867](https://github.com/ClickHouse/ClickHouse/pull/88867) ([Manuel](https://github.com/raimannma)).
* Aplicado como backport en [#88944](https://github.com/ClickHouse/ClickHouse/issues/88944): se corrigió un error en la función `reverseUTF8`. En versiones anteriores, se invertían por error los bytes de los puntos de código UTF-8 de longitud 4. Esto corrige [#88913](https://github.com/ClickHouse/ClickHouse/issues/88913). [#88914](https://github.com/ClickHouse/ClickHouse/pull/88914) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Retroportado en [#88980](https://github.com/ClickHouse/ClickHouse/issues/88980): no comprobar el acceso a `SET DEFINER <current_user>:definer` al crear una vista con SQL SECURITY DEFINER. [#88968](https://github.com/ClickHouse/ClickHouse/pull/88968) ([pufit](https://github.com/pufit)).
* Retroportado en [#89058](https://github.com/ClickHouse/ClickHouse/issues/89058): Se corrigió `LOGICAL_ERROR` en `L2DistanceTransposed(vec1, vec2, p)`, donde la optimización para la lectura parcial de `QBit` eliminaba incorrectamente `Nullable` del tipo de retorno cuando `p` era `Nullable`. [#88974](https://github.com/ClickHouse/ClickHouse/pull/88974) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Backport en [#89167](https://github.com/ClickHouse/ClickHouse/issues/89167): corrige un fallo en un tipo de catálogo desconocido. Resuelve [#88819](https://github.com/ClickHouse/ClickHouse/issues/88819). [#88987](https://github.com/ClickHouse/ClickHouse/pull/88987) ([scanhex12](https://github.com/scanhex12)).
* Retroportado en [#89028](https://github.com/ClickHouse/ClickHouse/issues/89028): Se corrigió una degradación del rendimiento en el análisis de los índices de omisión de datos. [#89004](https://github.com/ClickHouse/ClickHouse/pull/89004) ([Anton Popov](https://github.com/CurtizJ)).

<div id="buildtestingpackaging-improvement">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Se usa la versión 18.0 de la biblioteca `postgres`. [#87647](https://github.com/ClickHouse/ClickHouse/pull/87647) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se habilita ICU para FreeBSD. [#87891](https://github.com/ClickHouse/ClickHouse/pull/87891) ([Raúl Marín](https://github.com/Algunenano)).
* Se usa SSE 4.2 cuando se utiliza despacho dinámico a SSE 4.2, y no SSE 4. [#88029](https://github.com/ClickHouse/ClickHouse/pull/88029) ([Raúl Marín](https://github.com/Algunenano)).
* Ya no se requiere la marca `NO_ARMV81_OR_HIGHER` si `Speculative Store Bypass Safe` no está disponible. [#88051](https://github.com/ClickHouse/ClickHouse/pull/88051) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Cuando ClickHouse se compila con `ENABLE_LIBFIU=OFF`, las funciones relacionadas con failpoints pasan a ser no-ops y ya no pueden afectar al rendimiento. Las queries `SYSTEM ENABLE/DISABLE FAILPOINT` devuelven un error `SUPPORT_IS_DISABLED` en ese caso. [#88184](https://github.com/ClickHouse/ClickHouse/pull/88184) ([c-end](https://github.com/c-end)).

<div id="259">
  ### Versión de ClickHouse 25.9, 2025-09-25
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se deshabilitan las operaciones binarias sin sentido con IPv4/IPv6: ya no se permite sumar/restar una IPv4/IPv6 con un tipo no entero. Antes se permitían operaciones con tipos de coma flotante y se producían errores lógicos con algunos otros tipos (como DateTime). [#86336](https://github.com/ClickHouse/ClickHouse/pull/86336) ([Raúl Marín](https://github.com/Algunenano)).
* Se deja obsoleta la configuración `allow_dynamic_metadata_for_data_lakes`. Ahora todas las tablas Iceberg intentan obtener del almacenamiento el esquema más reciente de la tabla antes de ejecutar cada consulta. [#86366](https://github.com/ClickHouse/ClickHouse/pull/86366) ([Daniil Ivanik](https://github.com/divanik)).
* Se cambió la resolución de la columna coalescida en la cláusula `OUTER JOIN ... USING` para que sea más consistente: anteriormente, al seleccionar tanto la columna de USING como columnas calificadas (`a, t1.a, t2.a`) en un OUTER JOIN, la columna de USING se resolvía incorrectamente como `t1.a`, mostrando 0/NULL para las filas de la tabla derecha sin coincidencia en la izquierda. Ahora, los identificadores de la cláusula USING siempre se resuelven como la columna coalescida, mientras que los identificadores calificados se resuelven como las columnas no coalescidas, independientemente de qué otros identificadores estén presentes en la consulta. Por ejemplo: \`\`\`sql SELECT a, t1.a, t2.a FROM (SELECT 1 as a WHERE 0) t1 FULL JOIN (SELECT 2 as a) t2 USING (a) -- Antes: a=0, t1.a=0, t2.a=2 (incorrecto: 'a' se resolvía como t1.a) -- Después: a=2, t1.a=0, t2.a=2 (correcto: 'a' es coalescida). [#80848](https://github.com/ClickHouse/ClickHouse/pull/80848) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se aumenta la ventana de deduplicación en tablas replicadas hasta 10000. Esto es totalmente compatible, pero cabe imaginar escenarios en los que este cambio podría provocar un alto consumo de recursos cuando hay una gran cantidad de tablas. [#86820](https://github.com/ClickHouse/ClickHouse/pull/86820) ([Sema Checherinda](https://github.com/CheSema)).

#### nueva funcionalidad

* Ahora puede usar NATS JetStream para consumir mensajes especificando los nuevos ajustes `nats_stream` y `nats_consumer` del motor NATS. [#84799](https://github.com/ClickHouse/ClickHouse/pull/84799) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Se añadió compatibilidad con autenticación y SSL a la función de tabla `arrowFlight`. [#87120](https://github.com/ClickHouse/ClickHouse/pull/87120) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añade un nuevo parámetro al motor de tabla `S3` y a la función de tabla `s3` llamado `storage_class_name`, que permite especificar Intelligent Tiering de AWS. Compatible tanto con el formato clave-valor como con el formato posicional (obsoleto). [#87122](https://github.com/ClickHouse/ClickHouse/pull/87122) ([alesapin](https://github.com/alesapin)).
* `ALTER UPDATE` para el motor de tablas Iceberg. [#86059](https://github.com/ClickHouse/ClickHouse/pull/86059) ([scanhex12](https://github.com/scanhex12)).
* Se añade la tabla del sistema `iceberg_metadata_log` para obtener archivos de metadatos de Iceberg durante las sentencias SELECT. [#86152](https://github.com/ClickHouse/ClickHouse/pull/86152) ([scanhex12](https://github.com/scanhex12)).
* Las tablas `Iceberg` y `DeltaLake` admiten una configuración personalizada del disco mediante la opción `disk` del nivel de almacenamiento. [#86778](https://github.com/ClickHouse/ClickHouse/pull/86778) ([scanhex12](https://github.com/scanhex12)).
* Compatibilidad con Azure para discos de lago de datos. [#87173](https://github.com/ClickHouse/ClickHouse/pull/87173) ([scanhex12](https://github.com/scanhex12)).
* Se admite el catálogo `Unity` sobre Azure blob storage. [#80013](https://github.com/ClickHouse/ClickHouse/pull/80013) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se admiten más formatos (`ORC`, `Avro`) en las escrituras de `Iceberg`. Esto cierra [#86179](https://github.com/ClickHouse/ClickHouse/issues/86179). [#87277](https://github.com/ClickHouse/ClickHouse/pull/87277) ([scanhex12](https://github.com/scanhex12)).
* Se añade una nueva tabla del sistema `database_replicas` con información sobre las réplicas de la base de datos. [#83408](https://github.com/ClickHouse/ClickHouse/pull/83408) ([Konstantin Morozov](https://github.com/k-morozov)).
* Se añadió la función `arrayExcept`, que sustrae un array de otro, tratándolos como conjuntos. [#82368](https://github.com/ClickHouse/ClickHouse/pull/82368) ([Joanna Hulboj](https://github.com/jh0x)).
* Añade una nueva tabla `system.aggregated_zookeeper_log`. La tabla contiene estadísticas (p. ej., número de operaciones, latencia media, errores) de las operaciones de ZooKeeper, agrupadas por ID de sesión, ruta padre y tipo de operación, y escritas periódicamente en disco. [#85102](https://github.com/ClickHouse/ClickHouse/pull/85102) [#87208](https://github.com/ClickHouse/ClickHouse/pull/87208) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Una nueva función, `isValidASCII`. Devuelve 1 si la cadena de entrada o FixedString contiene solo bytes ASCII (0x00–0x7F); en caso contrario, 0. Cierra [#85377](https://github.com/ClickHouse/ClickHouse/issues/85377). ... [#85786](https://github.com/ClickHouse/ClickHouse/pull/85786) ([rajat mohan](https://github.com/rajatmohan22)).
* Los ajustes booleanos pueden especificarse sin argumentos; por ejemplo, `SET use_query_cache;`, lo que equivale a establecer el ajuste en true. [#85800](https://github.com/ClickHouse/ClickHouse/pull/85800) ([thraeka](https://github.com/thraeka)).
* Nuevas opciones de configuración: `logger.startupLevel` & `logger.shutdownLevel` permiten anular el nivel de registro durante el arranque y el apagado de ClickHouse, respectivamente. [#85967](https://github.com/ClickHouse/ClickHouse/pull/85967) ([Lennard Eijsackers](https://github.com/Blokje5)).
* Funciones de agregado `timeSeriesChangesToGrid` y `timeSeriesResetsToGrid`. Se comportan de forma similar a `timeSeriesRateToGrid`, aceptando parámetros para la marca de tiempo de inicio, la marca de tiempo de fin, `step` y la ventana retrospectiva, así como dos argumentos para las marcas de tiempo y los valores, pero requieren al menos 1 muestra por ventana en lugar de 2. Calculan `changes`/`resets` de PromQL, contando el número de veces que el valor de la muestra cambia o disminuye en la ventana especificada para cada marca de tiempo de la cuadrícula temporal definida por los parámetros. El tipo de retorno es `Array(Nullable(Float64))`. [#86010](https://github.com/ClickHouse/ClickHouse/pull/86010) ([Stephen Chi](https://github.com/stephchi0)).
* Permite crear vistas temporales con una sintaxis similar a la de las tablas temporales (`CREATE TEMPORARY VIEW`). [#86432](https://github.com/ClickHouse/ClickHouse/pull/86432) ([Aly Kafoury](https://github.com/AlyHKafoury)).
* Agregar advertencias sobre el uso de CPU y memoria a la tabla `system.warnings`. [#86838](https://github.com/ClickHouse/ClickHouse/pull/86838) ([Bharat Nallan](https://github.com/bharatnc)).
* Se admite el indicador `oneof` en las entradas `Protobuf`. Se puede usar una columna especial para indicar la presencia de una de las alternativas de `oneof`. Si un mensaje contiene [oneof](https://protobuf.dev/programming-guides/proto3/#oneof) y se establece `input_format_protobuf_oneof_presence`, ClickHouse rellena la columna que indica qué campo de `oneof` se ha encontrado. [#82885](https://github.com/ClickHouse/ClickHouse/pull/82885) ([Ilya Golshtein](https://github.com/ilejn)).
* Mejora del perfilado de asignaciones basada en las herramientas internas de jemalloc. Ahora se puede habilitar el profiler global de jemalloc con la configuración `jemalloc_enable_global_profiler`. Las asignaciones y liberaciones de memoria globales muestreadas pueden almacenarse en `system.trace_log` con el tipo `JemallocSample` al habilitar la configuración `jemalloc_collect_global_profile_samples_in_trace_log`. Ahora el perfilado de jemalloc puede habilitarse de forma independiente para cada consulta mediante el ajuste `jemalloc_enable_profiler`. El almacenamiento de muestras en `system.trace_log` puede controlarse por consulta mediante el ajuste `jemalloc_collect_profile_samples_in_trace_log`. Se actualizó jemalloc a una versión más reciente. [#85438](https://github.com/ClickHouse/ClickHouse/pull/85438) ([Antonio Andelic](https://github.com/antonio2368)).
* Un nuevo ajuste para eliminar archivos al eliminar tablas Iceberg. Cierra [#86211](https://github.com/ClickHouse/ClickHouse/issues/86211). [#86501](https://github.com/ClickHouse/ClickHouse/pull/86501) ([scanhex12](https://github.com/scanhex12)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* El índice de texto invertido se rediseñó desde cero para que fuera escalable en conjuntos de datos que no caben en RAM. [#86485](https://github.com/ClickHouse/ClickHouse/pull/86485) ([Anton Popov](https://github.com/CurtizJ)).
* La reordenación de JOIN ahora usa estadísticas. Esta funcionalidad se puede habilitar estableciendo `allow_statistics_optimize = 1` y `query_plan_optimize_join_order_limit = 10`. [#86822](https://github.com/ClickHouse/ClickHouse/pull/86822) ([Han Fei](https://github.com/hanfei1991)).
* Se añadió compatibilidad con `alter table ... materialize statistics all`, que materializa todas las estadísticas de una tabla. [#87197](https://github.com/ClickHouse/ClickHouse/pull/87197) ([Han Fei](https://github.com/hanfei1991)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Permite filtrar partes de datos mediante índices de omisión durante la lectura para reducir las lecturas innecesarias de índices. Se controla con la nueva configuración `use_skip_indexes_on_data_read` (deshabilitada de forma predeterminada). Esto aborda [#75774](https://github.com/ClickHouse/ClickHouse/issues/75774). También incluye parte del trabajo preliminar común con [#81021](https://github.com/ClickHouse/ClickHouse/issues/81021). [#81526](https://github.com/ClickHouse/ClickHouse/pull/81526) ([Amos Bird](https://github.com/amosbird)).
* Se añadió una optimización del orden de JOIN que puede reordenar automáticamente los JOIN para mejorar el rendimiento (controlada por la configuración `query_plan_optimize_join_order_limit`). Tenga en cuenta que la optimización del orden de join actualmente tiene soporte limitado para estadísticas y se basa principalmente en estimaciones del número de filas de los motores de almacenamiento; en versiones futuras se añadirán una recopilación de estadísticas más sofisticada y una estimación de cardinalidad mejorada. **Si encuentra problemas con consultas JOIN después de actualizar**, puede desactivar temporalmente la nueva implementación estableciendo `SET query_plan_use_new_logical_join_step = 0` e informar del problema para su investigación. **Nota sobre la resolución de identificadores de la cláusula USING**: Se cambió la resolución de la columna coalescida de la cláusula `OUTER JOIN ... USING` para que sea más consistente: anteriormente, al seleccionar tanto la columna USING como columnas calificadas (`a, t1.a, t2.a`) en un `OUTER JOIN`, la columna USING se resolvía incorrectamente como `t1.a`, mostrando 0/NULL para las filas de la tabla derecha sin coincidencia en la izquierda. Ahora, los identificadores de la cláusula USING siempre se resuelven en la columna coalescida, mientras que los identificadores calificados se resuelven en las columnas no coalescidas, independientemente de qué otros identificadores estén presentes en la consulta. Por ejemplo: \`\`\`sql SELECT a, t1.a, t2.a FROM (SELECT 1 as a WHERE 0) t1 FULL JOIN (SELECT 2 as a) t2 USING (a) -- Antes: a=0, t1.a=0, t2.a=2 (incorrecto: 'a' se resolvía como t1.a) -- Después: a=2, t1.a=0, t2.a=2 (correcto: 'a' es la columna coalescida). [#80848](https://github.com/ClickHouse/ClickHouse/pull/80848) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `INSERT SELECT` distribuido en lagos de datos. [#86783](https://github.com/ClickHouse/ClickHouse/pull/86783) ([scanhex12](https://github.com/scanhex12)).
* Se mejora la optimización de PREWHERE para condiciones como `func(primary_column) = 'xx'` y `column in (xxx)`. [#85529](https://github.com/ClickHouse/ClickHouse/pull/85529) ([李扬](https://github.com/taiyang-li)).
* Se implementó la reescritura de JOIN: 1. Se convierten `LEFT ANY JOIN` y `RIGHT ANY JOIN` en JOIN `SEMI`/`ANTI` si la condición de filtro siempre es falsa para las filas coincidentes o no coincidentes. Esta optimización se controla mediante una nueva configuración: `query_plan_convert_any_join_to_semi_or_anti_join`. 2. Se convierte `FULL ALL JOIN` en `LEFT ALL` o `RIGHT ALL` JOIN si la condición de filtro siempre es falsa para las filas no coincidentes de uno de los lados. [#86028](https://github.com/ClickHouse/ClickHouse/pull/86028) ([Dmitry Novik](https://github.com/novikd)).
* Se mejoró el rendimiento de las fusiones verticales tras ejecutar una eliminación ligera. [#86169](https://github.com/ClickHouse/ClickHouse/pull/86169) ([Anton Popov](https://github.com/CurtizJ)).
* Se optimizó ligeramente el rendimiento de `HashJoin` en casos de join `LEFT/RIGHT` con muchas filas sin coincidencia. [#86312](https://github.com/ClickHouse/ClickHouse/pull/86312) ([Nikita Taranov](https://github.com/nickitat)).
* Ordenación radix: ayuda al compilador a usar SIMD y a realizar un prefetch más eficiente. Usa despacho dinámico para aplicar prefetch por software solo en CPU Intel. Continúa el trabajo de @taiyang-li en [https://github.com/ClickHouse/ClickHouse/pull/77029](https://github.com/ClickHouse/ClickHouse/pull/77029). [#86378](https://github.com/ClickHouse/ClickHouse/pull/86378) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora el rendimiento de las consultas cortas en tablas con muchas partes (optimizando `MarkRanges` mediante el uso de `devector` en lugar de `deque`). [#86933](https://github.com/ClickHouse/ClickHouse/pull/86933) ([Azat Khuzhin](https://github.com/azat)).
* Se mejoró el rendimiento al aplicar patch parts en el modo join. [#87094](https://github.com/ClickHouse/ClickHouse/pull/87094) ([Anton Popov](https://github.com/CurtizJ)).
* Se agregó la configuración `query_condition_cache_selectivity_threshold` (valor predeterminado: 1.0), que excluye de la inserción en la caché de condiciones de consulta los resultados de escaneo de predicados con baja selectividad. Esto permite reducir el consumo de memoria de la caché de condiciones de consulta, a costa de una menor tasa de aciertos de la caché. [#86076](https://github.com/ClickHouse/ClickHouse/pull/86076) ([zhongyuankai](https://github.com/zhongyuankai)).
* Reduce el uso de memoria en las escrituras de Iceberg. [#86544](https://github.com/ClickHouse/ClickHouse/pull/86544) ([scanhex12](https://github.com/scanhex12)).

<div id="improvement">
  #### Mejora
</div>

* Admite la escritura de varios archivos de datos en Iceberg en una sola inserción. Añade nuevas opciones de configuración, `iceberg_insert_max_rows_in_data_file` y `iceberg_insert_max_bytes_in_data_file`, para controlar los límites. [#86275](https://github.com/ClickHouse/ClickHouse/pull/86275) ([scanhex12](https://github.com/scanhex12)).
* Se añadió un límite de filas/bytes para los archivos de datos insertados en Delta Lake. Se controla mediante la configuración `delta_lake_insert_max_rows_in_data_file` y `delta_lake_insert_max_bytes_in_data_file`. [#86357](https://github.com/ClickHouse/ClickHouse/pull/86357) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admiten más tipos de particiones en las escrituras en Iceberg. Esto cierra [#86206](https://github.com/ClickHouse/ClickHouse/issues/86206). [#86298](https://github.com/ClickHouse/ClickHouse/pull/86298) ([scanhex12](https://github.com/scanhex12)).
* Hacer configurable la estrategia de reintento de S3 y permitir que la configuración del disco S3 se recargue en caliente al cambiar el archivo XML de configuración. [#82642](https://github.com/ClickHouse/ClickHouse/pull/82642) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Se ha mejorado el motor de tabla S3(Azure)Queue para que pueda tolerar la pérdida de la conexión con ZooKeeper sin riesgo de duplicados. Requiere habilitar la configuración de S3Queue `use_persistent_processing_nodes` (puede modificarse con `ALTER TABLE MODIFY SETTING`). [#85995](https://github.com/ClickHouse/ClickHouse/pull/85995) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Puedes usar parámetros de consulta después de `TO` al crear una vista materializada; por ejemplo: `CREATE MATERIALIZED VIEW mv TO {to_table:Identifier} AS SELECT * FROM src_table`. [#84899](https://github.com/ClickHouse/ClickHouse/pull/84899) ([Diskein](https://github.com/Diskein)).
* Proporciona instrucciones más claras a los usuarios cuando se especifican configuraciones incorrectas para el motor de tabla `Kafka2`. [#83701](https://github.com/ClickHouse/ClickHouse/pull/83701) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Ya no es posible especificar zonas horarias para el tipo `Time` (no tenía sentido). [#84689](https://github.com/ClickHouse/ClickHouse/pull/84689) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se simplificó una lógica relacionada con el procesamiento de Time/Time64 en el modo `best_effort` (y se evitaron algunos errores). [#84730](https://github.com/ClickHouse/ClickHouse/pull/84730) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se añadió la función `deltaLakeAzureCluster` (similar a `deltaLakeAzure` para el modo de clúster) y la función `deltaLakeS3Cluster` (alias de `deltaLakeCluster`). Resuelve [#85358](https://github.com/ClickHouse/ClickHouse/issues/85358). [#85547](https://github.com/ClickHouse/ClickHouse/pull/85547) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se aplica la configuración `azure_max_single_part_copy_size` a las operaciones normales de copia, igual que para la copia de seguridad. [#85767](https://github.com/ClickHouse/ClickHouse/pull/85767) ([Ilya Golshtein](https://github.com/ilejn)).
* Se ralentizan los hilos del cliente S3 cuando se producen errores reintentables en el almacenamiento de objetos S3. Esto amplía la configuración anterior `backup_slow_all_threads_after_retryable_s3_error` a los discos S3 y le cambia el nombre por el más general `s3_slow_all_threads_after_retryable_error`. [#85918](https://github.com/ClickHouse/ClickHouse/pull/85918) ([Julia Kartseva](https://github.com/jkartseva)).
* Se marcan como obsoletas las configuraciones allow\_experimental\_variant/dynamic/json y enable\_variant/dynamic/json. Ahora los tres tipos están habilitados sin condiciones. [#85934](https://github.com/ClickHouse/ClickHouse/pull/85934) ([Pavel Kruglov](https://github.com/Avogar)).
* Se admite el filtrado por la cadena de URL completa (directiva `full_url`) en `http_handlers` (incluidos el esquema y host:port). [#86155](https://github.com/ClickHouse/ClickHouse/pull/86155) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió una nueva opción de configuración, `allow_experimental_delta_lake_writes`. [#86180](https://github.com/ClickHouse/ClickHouse/pull/86180) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se ha corregido la detección de systemd en el script de init.d (corrige la comprobación "Instalar paquetes"). [#86187](https://github.com/ClickHouse/ClickHouse/pull/86187) ([Azat Khuzhin](https://github.com/azat)).
* Añade una nueva métrica dimensional `startup_scripts_failure_reason`. Esta métrica es necesaria para distinguir entre distintos tipos de error que hacen que fallen los scripts de inicio. En particular, a efectos de generación de alertas, necesitamos distinguir entre errores transitorios (por ejemplo, `MEMORY_LIMIT_EXCEEDED` o `KEEPER_EXCEPTION`) y errores no transitorios. [#86202](https://github.com/ClickHouse/ClickHouse/pull/86202) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se permite omitir la función `identity` en la partición de una tabla Iceberg. [#86314](https://github.com/ClickHouse/ClickHouse/pull/86314) ([scanhex12](https://github.com/scanhex12)).
* Se añadió la posibilidad de habilitar el registro JSON solo para un canal específico; para ello, establezca `logger.formatting.channel` en uno de `syslog`/`console`/`errorlog`/`log`. [#86331](https://github.com/ClickHouse/ClickHouse/pull/86331) ([Azat Khuzhin](https://github.com/azat)).
* Permitir el uso de números nativos en `WHERE`. Ya se permite usarlos como argumentos de funciones lógicas. Esto simplifica las optimizaciones de filter-push-down y move-to-prewhere. [#86390](https://github.com/ClickHouse/ClickHouse/pull/86390) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió un error al ejecutar `SYSTEM DROP REPLICA` en un catálogo con metadatos dañados. [#86391](https://github.com/ClickHouse/ClickHouse/pull/86391) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Añadir reintentos adicionales a la comprobación de acceso al disco (`skip_access_check = 0`) en Azure, ya que el aprovisionamiento del acceso puede tardar bastante tiempo. [#86419](https://github.com/ClickHouse/ClickHouse/pull/86419) ([Alexander Tokmakov](https://github.com/tavplubix)).
* La ventana de obsolescencia en las funciones `timeSeries*()` pasa a ser abierta por la izquierda y cerrada por la derecha. [#86588](https://github.com/ClickHouse/ClickHouse/pull/86588) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se agregan eventos de perfil `FailedInternal*Query`. [#86627](https://github.com/ClickHouse/ClickHouse/pull/86627) ([Shane Andrade](https://github.com/mauidude)).
* Corrige el manejo de usuarios con un punto en el nombre cuando se añaden mediante un archivo de configuración. [#86633](https://github.com/ClickHouse/ClickHouse/pull/86633) ([Mikhail Koviazin](https://github.com/mkmkme)).
* Agregar una métrica asíncrona para el uso de memoria en las consultas (`QueriesMemoryUsage` y `QueriesPeakMemoryUsage`). [#86669](https://github.com/ClickHouse/ClickHouse/pull/86669) ([Azat Khuzhin](https://github.com/azat)).
* Puede usar la opción `clickhouse-benchmark --precise` para obtener informes más precisos de QPS y otras métricas por intervalo. Ayuda a obtener un QPS uniforme cuando la duración de las consultas es comparable al intervalo de informes `--delay D`. [#86684](https://github.com/ClickHouse/ClickHouse/pull/86684) ([Sergei Trifonov](https://github.com/serxa)).
* Permitir configurar los valores nice de los hilos de Linux para asignar a algunos hilos (merge/mutate, consulta, vista materializada, cliente de ZooKeeper) prioridades más altas o más bajas. [#86703](https://github.com/ClickHouse/ClickHouse/pull/86703) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se corrigió el engañoso error “specified upload does not exist”, que se produce cuando se pierde la excepción original en una carga multiparte debido a una condición de carrera. [#86725](https://github.com/ClickHouse/ClickHouse/pull/86725) ([Julia Kartseva](https://github.com/jkartseva)).
* Se limita la descripción del plan de consulta en la consulta `EXPLAIN`. No se calcula la descripción para consultas distintas de `EXPLAIN`. Se añadió el ajuste `query_plan_max_step_description_length`. [#86741](https://github.com/ClickHouse/ClickHouse/pull/86741) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se añadió la posibilidad de ajustar las señales pendientes para intentar evitar `CANNOT_CREATE_TIMER` (para los perfiladores de consultas, `query_profiler_real_time_period_ns`/`query_profiler_cpu_time_period_ns`). Además, ahora se recopila `SigQ` de `/proc/self/status` para introspección (si `ProcessSignalQueueSize` está cerca de `ProcessSignalQueueLimit`, es probable que obtenga errores `CANNOT_CREATE_TIMER`). [#86760](https://github.com/ClickHouse/ClickHouse/pull/86760) ([Azat Khuzhin](https://github.com/azat)).
* Mejora del rendimiento de la solicitud `RemoveRecursive` en Keeper. [#86789](https://github.com/ClickHouse/ClickHouse/pull/86789) ([Antonio Andelic](https://github.com/antonio2368)).
* Eliminar los espacios en blanco adicionales en `PrettyJSONEachRow` al generar la salida del tipo JSON. [#86819](https://github.com/ClickHouse/ClickHouse/pull/86819) ([Pavel Kruglov](https://github.com/Avogar)).
* Ahora se escriben los tamaños de los blobs de `prefix.path` al eliminar el directorio en el disco reescribible simple. [#86908](https://github.com/ClickHouse/ClickHouse/pull/86908) ([alesapin](https://github.com/alesapin)).
* Admite pruebas de rendimiento en instancias remotas de ClickHouse, incluido ClickHouse Cloud. Ejemplo de uso: `tests/performance/scripts/perf.py tests/performance/math.xml --runs 10 --user <username> --password <password> --host <hostname> --port <port> --secure`. [#86995](https://github.com/ClickHouse/ClickHouse/pull/86995) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se respetan los límites de memoria en algunos lugares donde se sabe que se asigna una cantidad significativa (>16MiB) de memoria (ordenación, inserciones asíncronas, file log). [#87035](https://github.com/ClickHouse/ClickHouse/pull/87035) ([Azat Khuzhin](https://github.com/azat)).
* Lanzar una excepción si la configuración `network_compression_method` no corresponde a un codec genérico compatible. [#87097](https://github.com/ClickHouse/ClickHouse/pull/87097) ([Robert Schulze](https://github.com/rschu1ze)).
* La tabla del sistema `system.query_cache` ahora devuelve *todas* las entradas de la caché de resultados de consultas, mientras que antes devolvía solo las entradas compartidas o las entradas no compartidas del mismo usuario y rol. Esto no supone un problema, ya que se espera que las entradas no compartidas no revelen *resultados de consultas*, mientras que `system.query_cache` devuelve *textos de las consultas*. Esto hace que el comportamiento de la tabla del sistema sea más similar al de `system.query_log`. [#87104](https://github.com/ClickHouse/ClickHouse/pull/87104) ([Robert Schulze](https://github.com/rschu1ze)).
* Se habilitó la evaluación de cortocircuito para la función `parseDateTime`. [#87184](https://github.com/ClickHouse/ClickHouse/pull/87184) ([Pavel Kruglov](https://github.com/Avogar)).
* Agrega una nueva columna `statistics` a `system.parts_columns`. [#87259](https://github.com/ClickHouse/ClickHouse/pull/87259) ([Han Fei](https://github.com/hanfei1991)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Los resultados de las consultas ALTER solo se validan en el nodo iniciador para las bases de datos replicadas y las tablas con replicación interna. Esto corrige situaciones en las que una consulta ALTER ya confirmada podía quedarse bloqueada en otros nodos. [#83849](https://github.com/ClickHouse/ClickHouse/pull/83849) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Limita el número de tareas de cada tipo en `BackgroundSchedulePool`. Evita situaciones en las que todos los slots estén ocupados por tareas de un mismo tipo, mientras otras tareas quedan bloqueadas por falta de recursos. También evita interbloqueos cuando las tareas esperan entre sí. Esto se controla mediante la configuración del servidor `background_schedule_pool_max_parallel_tasks_per_type_ratio`. [#84008](https://github.com/ClickHouse/ClickHouse/pull/84008) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Apague correctamente las tablas al recuperar una réplica de la base de datos. Un apagado incorrecto provocaría LOGICAL\_ERROR en algunos motores de tablas durante la recuperación de la réplica de la base de datos. [#84744](https://github.com/ClickHouse/ClickHouse/pull/84744) ([Antonio Andelic](https://github.com/antonio2368)).
* Comprobar los permisos de acceso al generar sugerencias de corrección de errores tipográficos para el nombre de la base de datos. [#85371](https://github.com/ClickHouse/ClickHouse/pull/85371) ([Dmitry Novik](https://github.com/novikd)).
* 1. LowCardinality para columnas de hive 2. Rellenar las columnas de hive antes que las columnas virtuales (necesario para [https://github.com/ClickHouse/ClickHouse/pull/81040](https://github.com/ClickHouse/ClickHouse/pull/81040)) 3. LOGICAL\_ERROR con formato vacío para hive [#85528](https://github.com/ClickHouse/ClickHouse/issues/85528) 4. Corregir la comprobación de que las columnas de partición de hive sean las únicas columnas presentes 5. Asegurar que todas las columnas de hive estén especificadas en el esquema 6. Corrección parcial de parallel\_replicas\_cluster con hive 7. Usar un contenedor ordenado en extractkeyValuePairs para las utilidades de hive (necesario para [https://github.com/ClickHouse/ClickHouse/pull/81040](https://github.com/ClickHouse/ClickHouse/pull/81040)). [#85538](https://github.com/ClickHouse/ClickHouse/pull/85538) ([Arthur Passos](https://github.com/arthurpassos)).
* Se evita la optimización innecesaria del primer argumento de las funciones `IN`, que a veces provocaba un error cuando se utilizaba el mapeo de arrays. [#85546](https://github.com/ClickHouse/ClickHouse/pull/85546) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* La correspondencia entre los IDs de source de Iceberg y los nombres de Parquet no se ajustó al schema al escribir el archivo Parquet. Este PR procesa el schema correspondiente a cada archivo de datos de Iceberg, no el actual. [#85829](https://github.com/ClickHouse/ClickHouse/pull/85829) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige la lectura del tamaño del archivo para que se haga por separado de su apertura. Está relacionado con [https://github.com/ClickHouse/ClickHouse/pull/33372](https://github.com/ClickHouse/ClickHouse/pull/33372), que se introdujo en respuesta a un error en los kernels de Linux anteriores a la versión `5.10`. [#85837](https://github.com/ClickHouse/ClickHouse/pull/85837) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* ClickHouse Keeper ya no falla al iniciarse en sistemas donde IPv6 está deshabilitado a nivel del kernel (p. ej., RHEL con ipv6.disable=1). Ahora intenta usar un listener IPv4 como alternativa si falla el listener IPv6 inicial. [#85901](https://github.com/ClickHouse/ClickHouse/pull/85901) ([jskong1124](https://github.com/jskong1124)).
* Este PR cierra [#77990](https://github.com/ClickHouse/ClickHouse/issues/77990). Añade soporte de TableFunctionRemote para réplicas paralelas en globalJoin. [#85929](https://github.com/ClickHouse/ClickHouse/pull/85929) ([zoomxi](https://github.com/zoomxi)).
* Corrige el puntero nulo en orcschemareader::initializeifneeded(). este PR aborda el siguiente problema: [#85292](https://github.com/ClickHouse/ClickHouse/issues/85292) ### entrada de documentación para cambios visibles para el usuario. [#85951](https://github.com/ClickHouse/ClickHouse/pull/85951) ([yanglongwei](https://github.com/ylw510)).
* Añade una comprobación para permitir subconsultas correlacionadas en la cláusula FROM solo si usan columnas de la consulta externa. Corrige [#85469](https://github.com/ClickHouse/ClickHouse/issues/85469). Corrige [#85402](https://github.com/ClickHouse/ClickHouse/issues/85402). [#85966](https://github.com/ClickHouse/ClickHouse/pull/85966) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige la actualización mediante `alter` de una columna con una subcolumna utilizada en la expresión materializada de otra columna. Anteriormente, una columna materializada con una subcolumna en su expresión no se actualizaba correctamente. [#85985](https://github.com/ClickHouse/ClickHouse/pull/85985) ([Pavel Kruglov](https://github.com/Avogar)).
* Prohibir la modificación de columnas cuyas subcolumnas se usan en la PK o en la expresión de partición. [#86005](https://github.com/ClickHouse/ClickHouse/pull/86005) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió la lectura de subcolumnas con un modo de asignación de columnas distinto del predeterminado en el almacenamiento DeltaLake. [#86064](https://github.com/ClickHouse/ClickHouse/pull/86064) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el uso de valores predeterminados incorrectos para la ruta con sugerencia de Enum dentro de JSON. [#86065](https://github.com/ClickHouse/ClickHouse/pull/86065) ([Pavel Kruglov](https://github.com/Avogar)).
* Análisis de la URL del catálogo hive de DataLake con sanitización de entradas. Cierra [#86018](https://github.com/ClickHouse/ClickHouse/issues/86018). [#86092](https://github.com/ClickHouse/ClickHouse/pull/86092) ([rajat mohan](https://github.com/rajatmohan22)).
* Corrige un error lógico en el redimensionamiento dinámico de la caché del sistema de archivos. Cierra [#86122](https://github.com/ClickHouse/ClickHouse/issues/86122). Cierra [https://github.com/ClickHouse/clickhouse-core-incidents/issues/473](https://github.com/ClickHouse/clickhouse-core-incidents/issues/473). [#86130](https://github.com/ClickHouse/ClickHouse/pull/86130) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Use `NonZeroUInt64` para `logs_to_keep` en DatabaseReplicatedSettings. [#86142](https://github.com/ClickHouse/ClickHouse/pull/86142) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se producía una excepción al ejecutar una consulta `FINAL` con un índice de omisión si la tabla (por ejemplo, `ReplacingMergeTree`) se había creado con la configuración `index_granularity_bytes = 0`. Esa excepción ya se ha corregido. [#86147](https://github.com/ClickHouse/ClickHouse/pull/86147) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Elimina UB y corrige problemas en el análisis de la expresión de partición de Iceberg. [#86166](https://github.com/ClickHouse/ClickHouse/pull/86166) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrige un fallo en el caso de bloques const y no const en un mismo INSERT. [#86230](https://github.com/ClickHouse/ClickHouse/pull/86230) ([Azat Khuzhin](https://github.com/azat)).
* Procesa por defecto las inclusiones de `/etc/metrika.xml` al crear discos desde SQL. [#86232](https://github.com/ClickHouse/ClickHouse/pull/86232) ([alekar](https://github.com/alekar)).
* Se corrige la conversión de accurateCastOrNull/accurateCastOrDefault de String a JSON. [#86240](https://github.com/ClickHouse/ClickHouse/pull/86240) ([Pavel Kruglov](https://github.com/Avogar)).
* Se admiten directorios sin '/' en el engine Iceberg. [#86249](https://github.com/ClickHouse/ClickHouse/pull/86249) ([scanhex12](https://github.com/scanhex12)).
* Se corrige un fallo en replaceRegex con un haystack de tipo FixedString y un needle vacío. [#86270](https://github.com/ClickHouse/ClickHouse/pull/86270) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrigió un fallo durante ALTER UPDATE Nullable(JSON). [#86281](https://github.com/ClickHouse/ClickHouse/pull/86281) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la falta de la columna definer en system.tables. [#86295](https://github.com/ClickHouse/ClickHouse/pull/86295) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el cast de LowCardinality(Nullable(T)) a Dynamic. [#86365](https://github.com/ClickHouse/ClickHouse/pull/86365) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error lógico al escribir en DeltaLake. Cierra [#86175](https://github.com/ClickHouse/ClickHouse/issues/86175). [#86367](https://github.com/ClickHouse/ClickHouse/pull/86367) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió `416 The range specified is invalid for the current size of the resource. The range specified is invalid for the current size of the resource` al leer blobs vacíos de Azure Blob Storage para el disco plain\_rewritable. [#86400](https://github.com/ClickHouse/ClickHouse/pull/86400) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrige el GROUP BY de Nullable(JSON). [#86410](https://github.com/ClickHouse/ClickHouse/pull/86410) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un error en las vistas materializadas: una MV podía no funcionar si se había creado, eliminado y luego vuelto a crear con el mismo nombre. [#86413](https://github.com/ClickHouse/ClickHouse/pull/86413) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Generar un error si todas las réplicas no están disponibles al leer desde las funciones \*cluster. [#86414](https://github.com/ClickHouse/ClickHouse/pull/86414) ([Julian Maicher](https://github.com/jmaicher)).
* Corregir la fuga de `MergesMutationsMemoryTracking` provocada por las tablas `Buffer` y corregir `query_views_log` para la ingesta en streaming desde `Kafka` (y otros orígenes). [#86422](https://github.com/ClickHouse/ClickHouse/pull/86422) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige SHOW TABLES tras eliminar la tabla de referencia del almacenamiento alias. [#86433](https://github.com/ClickHouse/ClickHouse/pull/86433) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Se corrige la ausencia del encabezado del fragmento cuando `send_chunk_header` está habilitado y se invoca una UDF a través del protocolo HTTP. [#86469](https://github.com/ClickHouse/ClickHouse/pull/86469) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrige un posible interbloqueo cuando están habilitadas las operaciones de flush del perfil de jemalloc. [#86473](https://github.com/ClickHouse/ClickHouse/pull/86473) ([Azat Khuzhin](https://github.com/azat)).
* Corrige la lectura de subcolumnas en el motor de tablas DeltaLake. Cierra [#86204](https://github.com/ClickHouse/ClickHouse/issues/86204). [#86477](https://github.com/ClickHouse/ClickHouse/pull/86477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correcta gestión del ID del host de loopback para evitar colisiones al procesar tareas de DDL:. [#86479](https://github.com/ClickHouse/ClickHouse/pull/86479) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrige detach/attach en tablas del motor de base de datos Postgres con columnas numéricas o decimales. [#86480](https://github.com/ClickHouse/ClickHouse/pull/86480) ([Julian Maicher](https://github.com/jmaicher)).
* Corrige el uso de memoria sin inicializar en getSubcolumnType. [#86498](https://github.com/ClickHouse/ClickHouse/pull/86498) ([Raúl Marín](https://github.com/Algunenano)).
* Las funciones `searchAny` y `searchAll`, cuando se llaman con patrones de búsqueda vacíos, ahora devuelven `true` (es decir, "coinciden con todo"). Antes devolvían `false`. (issue [#86300](https://github.com/ClickHouse/ClickHouse/issues/86300)). [#86500](https://github.com/ClickHouse/ClickHouse/pull/86500) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Corrige la función `timeSeriesResampleToGridWithStaleness()` cuando el primer intervalo no tiene ningún valor. [#86507](https://github.com/ClickHouse/ClickHouse/pull/86507) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige el fallo causado porque `merge_tree_min_read_task_size` estaba establecido en 0. [#86527](https://github.com/ClickHouse/ClickHouse/pull/86527) ([yanglongwei](https://github.com/ylw510)).
* Durante la lectura, el formato de cada archivo de datos se obtiene de los metadatos de Iceberg (antes se obtenía de los argumentos de la tabla). [#86529](https://github.com/ClickHouse/ClickHouse/pull/86529) ([Daniil Ivanik](https://github.com/divanik)).
* Ignorar las excepciones durante el vaciado del log al apagar y hacer más seguro el apagado (para evitar SIGSEGV). [#86546](https://github.com/ClickHouse/ClickHouse/pull/86546) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió una excepción del motor de base de datos Backup al ejecutar una consulta con archivos de partes de tamaño cero. [#86563](https://github.com/ClickHouse/ClickHouse/pull/86563) ([Max Justus Spransy](https://github.com/maxjustus)).
* Corrige la ausencia de la cabecera de fragmento cuando send\_chunk\_header está habilitado y la UDF se invoca mediante el protocolo HTTP. [#86606](https://github.com/ClickHouse/ClickHouse/pull/86606) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige el error lógico de S3Queue "Expected current processor {} to be equal to {}", provocado por el vencimiento de la sesión de Keeper. [#86615](https://github.com/ClickHouse/ClickHouse/pull/86615) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Errores de nulabilidad en insert y pruning. Esto cierra [#86407](https://github.com/ClickHouse/ClickHouse/issues/86407). [#86630](https://github.com/ClickHouse/ClickHouse/pull/86630) ([scanhex12](https://github.com/scanhex12)).
* No desactive la caché del sistema de archivos si la caché de metadatos de Iceberg está desactivada. [#86635](https://github.com/ClickHouse/ClickHouse/pull/86635) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigió el error 'Deadlock in Parquet::ReadManager (single-threaded)' en el lector de Parquet v3. [#86644](https://github.com/ClickHouse/ClickHouse/pull/86644) ([Michael Kolupaev](https://github.com/al13n321)).
* Se ha corregido la compatibilidad con IPv6 en `listen_host` para ArrowFlight. [#86664](https://github.com/ClickHouse/ClickHouse/pull/86664) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige el cierre del `handler` de `ArrowFlight`. Este PR corrige [#86596](https://github.com/ClickHouse/ClickHouse/issues/86596). [#86665](https://github.com/ClickHouse/ClickHouse/pull/86665) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige un problema en las consultas distribuidas con `describe_compact_output=1`. [#86676](https://github.com/ClickHouse/ClickHouse/pull/86676) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen el análisis de la definición de ventana y la aplicación de parámetros de consulta. [#86720](https://github.com/ClickHouse/ClickHouse/pull/86720) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la excepción `Partition strategy wildcard can not be used without a '_partition_id' wildcard.` al crear una tabla con `PARTITION BY`, pero sin un comodín de partición, algo que solía funcionar en versiones anteriores a la 25.8. Cierra [https://github.com/ClickHouse/clickhouse-private/issues/37567](https://github.com/ClickHouse/clickhouse-private/issues/37567). [#86748](https://github.com/ClickHouse/ClickHouse/pull/86748) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige LogicalError si consultas paralelas intentan adquirir un único bloqueo. [#86751](https://github.com/ClickHouse/ClickHouse/pull/86751) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige la escritura de NULL en datos compartidos de JSON en el formato de entrada RowBinary y se añaden algunas validaciones adicionales en ColumnObject. [#86812](https://github.com/ClickHouse/ClickHouse/pull/86812) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la permutación vacía de Tuple con un límite. [#86828](https://github.com/ClickHouse/ClickHouse/pull/86828) ([Pavel Kruglov](https://github.com/Avogar)).
* No use un nodo de Keeper independiente para los nodos de procesamiento persistentes. Corrección de [https://github.com/ClickHouse/ClickHouse/pull/85995](https://github.com/ClickHouse/ClickHouse/pull/85995). Cierra [#86406](https://github.com/ClickHouse/ClickHouse/issues/86406). [#86841](https://github.com/ClickHouse/ClickHouse/pull/86841) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un problema por el que una tabla con motor TimeSeries impedía la creación de una nueva réplica en una base de datos Replicated. [#86845](https://github.com/ClickHouse/ClickHouse/pull/86845) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió la consulta de `system.distributed_ddl_queue` en los casos en que a las tareas les faltan ciertos nodos de Keeper. [#86848](https://github.com/ClickHouse/ClickHouse/pull/86848) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el seek al final del bloque descomprimido. [#86906](https://github.com/ClickHouse/ClickHouse/pull/86906) ([Pavel Kruglov](https://github.com/Avogar)).
* Procesar la excepción lanzada durante la ejecución asíncrona del iterador de Iceberg. [#86932](https://github.com/ClickHouse/ClickHouse/pull/86932) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrige el guardado de configuraciones XML preprocesadas de gran tamaño. [#86934](https://github.com/ClickHouse/ClickHouse/pull/86934) ([c-end](https://github.com/c-end)).
* Se corrigió el llenado del campo date en la tabla system.iceberg\_metadata\_log. [#86961](https://github.com/ClickHouse/ClickHouse/pull/86961) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigió la recalculación infinita de `TTL` con `WHERE`. [#86965](https://github.com/ClickHouse/ClickHouse/pull/86965) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió un posible error en el resultado de la función `uniqExact` con los modificadores `ROLLUP` y `CUBE`. [#87014](https://github.com/ClickHouse/ClickHouse/pull/87014) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige la resolución del esquema de la tabla con la función de tabla `url()` cuando la configuración `parallel_replicas_for_cluster_functions` se establece en 1. [#87029](https://github.com/ClickHouse/ClickHouse/pull/87029) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Realizar correctamente la conversión de tipo de la salida de PREWHERE después de dividirla en varios pasos. [#87040](https://github.com/ClickHouse/ClickHouse/pull/87040) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigieron las actualizaciones ligeras al usar la cláusula `ON CLUSTER`. [#87043](https://github.com/ClickHouse/ClickHouse/pull/87043) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige la compatibilidad de algunos estados de funciones de agregación con el argumento String. [#87049](https://github.com/ClickHouse/ClickHouse/pull/87049) ([Pavel Kruglov](https://github.com/Avogar)).
* Soluciona un problema por el que no se enviaba el nombre del modelo de OpenAI. [#87100](https://github.com/ClickHouse/ClickHouse/pull/87100) ([Kaushik Iska](https://github.com/iskakaushik)).
* EmbeddedRocksDB: La ruta debe estar dentro de user\_files. [#87109](https://github.com/ClickHouse/ClickHouse/pull/87109) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige un problema en las tablas KeeperMap creadas antes de la versión 25.1, que dejaban datos en ZooKeeper tras la consulta DROP. [#87112](https://github.com/ClickHouse/ClickHouse/pull/87112) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió la lectura de los ID de campo de maps y arrays en Parquet. [#87136](https://github.com/ClickHouse/ClickHouse/pull/87136) ([scanhex12](https://github.com/scanhex12)).
* Se corrigió la lectura de un array mediante la subcolumna de tamaños del array en la materialización diferida. [#87139](https://github.com/ClickHouse/ClickHouse/pull/87139) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió la función CASE con argumentos Dynamic. [#87177](https://github.com/ClickHouse/ClickHouse/pull/87177) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la lectura de un array vacío desde una cadena vacía en CSV. [#87182](https://github.com/ClickHouse/ClickHouse/pull/87182) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un posible resultado erróneo de `EXISTS` no correlacionado. Se rompía con `execute_exists_as_scalar_subquery=1`, que se introdujo en [https://github.com/ClickHouse/ClickHouse/pull/85481](https://github.com/ClickHouse/ClickHouse/pull/85481) y afecta a `25.8`. Corrige [#86415](https://github.com/ClickHouse/ClickHouse/issues/86415). [#87207](https://github.com/ClickHouse/ClickHouse/pull/87207) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Lanza un error si iceberg\_metadata\_log no está configurado, pero el usuario intenta obtener información de depuración sobre los metadatos de Iceberg. Corrige un acceso a nullptr. [#87250](https://github.com/ClickHouse/ClickHouse/pull/87250) ([Daniil Ivanik](https://github.com/divanik)).

#### mejora de compilación/pruebas/empaquetado

* Se corrige la compatibilidad con abseil-cpp 20250814.0, [https://github.com/abseil/abseil-cpp/issues/1923](https://github.com/abseil/abseil-cpp/issues/1923). [#85970](https://github.com/ClickHouse/ClickHouse/pull/85970) ([Yuriy Chernyshov](https://github.com/georgthegreat)).
* La compilación del lexer WASM independiente se deja detrás de una bandera. [#86505](https://github.com/ClickHouse/ClickHouse/pull/86505) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrige la compilación de crc32c en CPU ARM antiguas sin soporte para la instrucción `vmull_p64`. [#86521](https://github.com/ClickHouse/ClickHouse/pull/86521) ([Pablo Marcos](https://github.com/pamarcos)).
* Se usa `openldap` 2.6.10. [#86623](https://github.com/ClickHouse/ClickHouse/pull/86623) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* No se intenta interceptar `memalign` en Darwin. [#86769](https://github.com/ClickHouse/ClickHouse/pull/86769) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se usa `krb5` 1.22.1-final. [#86836](https://github.com/ClickHouse/ClickHouse/pull/86836) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrige la extracción de los nombres de los crates de Rust en `list-licenses.sh`. [#87305](https://github.com/ClickHouse/ClickHouse/pull/87305) ([Konstantin Bogdanov](https://github.com/thevar1able)).

<div id="258">
  ### Versión 25.8 LTS de ClickHouse, 2025-08-28
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Inferir `Array(Dynamic)` en lugar de `Tuple` sin nombre para arrays de valores con distintos tipos en JSON. Para usar el comportamiento anterior, deshabilite la configuración `input_format_json_infer_array_of_dynamic_from_array_of_different_types`. [#80859](https://github.com/ClickHouse/ClickHouse/pull/80859) ([Pavel Kruglov](https://github.com/Avogar)).
* Mover las métricas de latencia de S3 a histogramas para mantener la homogeneidad y la simplicidad. [#82305](https://github.com/ClickHouse/ClickHouse/pull/82305) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Exigir comillas invertidas alrededor de identificadores con puntos en expresiones por defecto para evitar que se interpreten como identificadores compuestos. [#83162](https://github.com/ClickHouse/ClickHouse/pull/83162) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* La materialización diferida se habilita solo con el analizador (que es el valor predeterminado) para evitar mantener la compatibilidad sin el analizador, lo que, según nuestra experiencia, presenta algunos problemas (por ejemplo, al usar `indexHint()` en condiciones). [#83791](https://github.com/ClickHouse/ClickHouse/pull/83791) ([Igor Nikonov](https://github.com/devcrafter)).
* Escribir valores de tipo `Enum` como `BYTE_ARRAY` con tipo lógico `ENUM` en el formato de salida Parquet de forma predeterminada. [#84169](https://github.com/ClickHouse/ClickHouse/pull/84169) ([Pavel Kruglov](https://github.com/Avogar)).
* Habilitar por defecto la configuración de MergeTree `write_marks_for_substreams_in_compact_parts`. Mejora significativamente el rendimiento de lectura de subcolumnas desde partes Compact recién creadas. Los servidores con versiones anteriores a la 25.5 no podrán leer las nuevas partes Compact. [#84171](https://github.com/ClickHouse/ClickHouse/pull/84171) ([Pavel Kruglov](https://github.com/Avogar)).
* El valor predeterminado anterior de `concurrent_threads_scheduler` era `round_robin`, que resultó ser poco equitativo cuando había un gran número de consultas de un solo hilo (p. ej., INSERTs). Este cambio establece `fair_round_robin` como planificador predeterminado, una alternativa más segura. [#84747](https://github.com/ClickHouse/ClickHouse/pull/84747) ([Sergei Trifonov](https://github.com/serxa)).
* ClickHouse admite la sintaxis heredoc de estilo PostgreSQL: `$tag$ string contents... $tag$`, también conocida como literales de cadena entre comillas de dólar. En versiones anteriores, había menos restricciones sobre las etiquetas: podían contener caracteres arbitrarios, incluidos signos de puntuación y espacios en blanco. Esto introduce ambigüedad en el análisis con identificadores que también pueden comenzar con un signo de dólar. Al mismo tiempo, PostgreSQL solo permite caracteres alfanuméricos y guiones bajos en las etiquetas. Para resolver el problema, ahora restringimos las etiquetas heredoc a contener únicamente esos caracteres. Cierra [#84731](https://github.com/ClickHouse/ClickHouse/issues/84731). [#84846](https://github.com/ClickHouse/ClickHouse/pull/84846) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las funciones `azureBlobStorage`, `deltaLakeAzure` e `icebergAzure` se han actualizado para validar correctamente los permisos `AZURE`. Todas las funciones con variante de clúster (funciones `-Cluster`) ahora verifican los permisos con respecto a sus equivalentes sin clúster. Además, las funciones `icebergLocal` y `deltaLakeLocal` ahora también aplican comprobaciones del permiso `FILE`. [#84938](https://github.com/ClickHouse/ClickHouse/pull/84938) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Habilitar por defecto la configuración `allow_dynamic_metadata_for_data_lakes` (configuración a nivel de motor de tabla). [#85044](https://github.com/ClickHouse/ClickHouse/pull/85044) ([Daniil Ivanik](https://github.com/divanik)).
* Deshabilitar por defecto las comillas en enteros de 64 bits en formatos JSON. [#74079](https://github.com/ClickHouse/ClickHouse/pull/74079) ([Pavel Kruglov](https://github.com/Avogar))

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se añade compatibilidad básica con el dialecto PromQL. Para usarlo, establezca `dialect='promql'` en clickhouse-client, apúntelo a la tabla TimeSeries mediante la opción `promql_table_name='X'` y ejecute consultas como `rate(ClickHouseProfileEvents_ReadCompressedBytes[1m])[5m:1m]`. Además, puede encapsular la consulta PromQL en SQL: `SELECT * FROM prometheusQuery('up', ...);`. Por ahora solo se admiten las funciones `rate`, `delta` e `increase`. No hay operadores unarios ni binarios. No hay API HTTP. [#75036](https://github.com/ClickHouse/ClickHouse/pull/75036) ([Vitaly Baranov](https://github.com/vitlibar)).
* La generación de SQL impulsada por IA ahora puede detectar automáticamente las variables de entorno ANTHROPIC\_API\_KEY y OPENAI\_API\_KEY, si están disponibles; esto permite ofrecer una opción sin configuración para usar esta función. [#83787](https://github.com/ClickHouse/ClickHouse/pull/83787) ([Kaushik Iska](https://github.com/iskakaushik)).
* Se implementó compatibilidad con el protocolo [ArrowFlight RPC](https://arrow.apache.org/docs/format/Flight.html) mediante la adición de: - una nueva función de tabla `arrowflight`. [#74184](https://github.com/ClickHouse/ClickHouse/pull/74184) ([zakr600](https://github.com/zakr600)).
* Ahora todas las tablas admiten la columna virtual `_table` (no solo las tablas con el motor `Merge`), lo que resulta especialmente útil para consultas con UNION ALL. [#63665](https://github.com/ClickHouse/ClickHouse/pull/63665) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Permitir el uso de cualquier política de almacenamiento (es decir, almacenamiento de objetos, como S3) para la agregación/ordenación externas. [#84734](https://github.com/ClickHouse/ClickHouse/pull/84734) ([Azat Khuzhin](https://github.com/azat)).
* Se implementa la autenticación de AWS S3 con un IAM role proporcionado explícitamente. Se implementa OAuth para GCS. Estas funciones, que hasta hace poco solo estaban disponibles en ClickHouse Cloud, ahora se han publicado como código abierto. Se sincronizan algunas interfaces, como la serialización de los parámetros de conexión para el almacenamiento de objetos. [#84011](https://github.com/ClickHouse/ClickHouse/pull/84011) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade compatibilidad con eliminaciones por posición en Iceberg TableEngine. [#83094](https://github.com/ClickHouse/ClickHouse/pull/83094) ([Daniil Ivanik](https://github.com/divanik)).
* Compatibilidad con Equality Deletes en Iceberg. [#85843](https://github.com/ClickHouse/ClickHouse/pull/85843) ([Han Fei](https://github.com/hanfei1991)).
* Escrituras en Iceberg con CREATE. Cierra [#83927](https://github.com/ClickHouse/ClickHouse/issues/83927). [#83983](https://github.com/ClickHouse/ClickHouse/pull/83983) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Catálogos de Glue para escritura. [#84136](https://github.com/ClickHouse/ClickHouse/pull/84136) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Catálogos REST de Iceberg para escritura. [#84684](https://github.com/ClickHouse/ClickHouse/pull/84684) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Fusiona todos los position delete files de Iceberg en archivos de datos. Esto reducirá la cantidad y el tamaño de los archivos Parquet en el almacenamiento de Iceberg. Sintaxis: `OPTIMIZE TABLE table_name`. [#85250](https://github.com/ClickHouse/ClickHouse/pull/85250) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Compatibilidad con `drop table` para Iceberg (eliminación de catálogos REST/Glue + eliminación de los metadatos de la tabla). [#85395](https://github.com/ClickHouse/ClickHouse/pull/85395) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se añade compatibilidad con las mutaciones ALTER DELETE para Iceberg en formato merge-on-read. [#85549](https://github.com/ClickHouse/ClickHouse/pull/85549) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se admite la escritura en DeltaLake. Cierra [#79603](https://github.com/ClickHouse/ClickHouse/issues/79603). [#85564](https://github.com/ClickHouse/ClickHouse/pull/85564) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadió la configuración `delta_lake_snapshot_version` para permitir leer una versión específica de una instantánea en el motor de tabla `DeltaLake`. [#85295](https://github.com/ClickHouse/ClickHouse/pull/85295) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Añadir más estadísticas de Iceberg (tamaños de columnas y límites inferior y superior) a los metadatos (entradas del manifiesto) para la poda min-max. [#85746](https://github.com/ClickHouse/ClickHouse/pull/85746) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se admite la adición/eliminación/modificación de columnas en Iceberg para tipos simples. [#85769](https://github.com/ClickHouse/ClickHouse/pull/85769) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Iceberg: se admite la escritura del archivo version-hint. Esto cierra [#85097](https://github.com/ClickHouse/ClickHouse/issues/85097). [#85130](https://github.com/ClickHouse/ClickHouse/pull/85130) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Las vistas creadas por usuarios efímeros ahora almacenarán una copia de un usuario real y ya no se invalidarán después de que se elimine el usuario efímero. [#84763](https://github.com/ClickHouse/ClickHouse/pull/84763) ([pufit](https://github.com/pufit)).
* El índice de similitud vectorial ahora admite cuantización binaria. La cuantización binaria reduce significativamente el consumo de memoria y acelera el proceso de creación de un índice vectorial (gracias a un cálculo de distancias más rápido). Además, la configuración existente `vector_search_postfilter_multiplier `quedó obsoleta y fue sustituida por una configuración más general: `vector_search_index_fetch_multiplier`. [#85024](https://github.com/ClickHouse/ClickHouse/pull/85024) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Permitir argumentos de clave-valor en el motor/función de tabla `s3` o `s3Cluster`, p. ej., `s3('url', CSV, structure = 'a Int32', compression_method = 'gzip')`. [#85134](https://github.com/ClickHouse/ClickHouse/pull/85134) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Una nueva tabla del sistema para almacenar mensajes entrantes erróneos de motores como Kafka ("cola de mensajes fallidos"). [#68873](https://github.com/ClickHouse/ClickHouse/pull/68873) ([Ilya Golshtein](https://github.com/ilejn)).
* El nuevo SYSTEM RESTORE DATABASE REPLICA para bases de datos Replicated, similar a la funcionalidad de restauración ya existente en ReplicatedMergeTree. [#73100](https://github.com/ClickHouse/ClickHouse/pull/73100) ([Konstantin Morozov](https://github.com/k-morozov)).
* El protocolo de PostgreSQL ahora es compatible con el comando `COPY`. [#74344](https://github.com/ClickHouse/ClickHouse/pull/74344) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Compatibilidad con clientes C# para el protocolo mysql. Esto cierra [#83992](https://github.com/ClickHouse/ClickHouse/issues/83992). [#84397](https://github.com/ClickHouse/ClickHouse/pull/84397) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se añadió compatibilidad para lecturas y escrituras con particiones al estilo de Hive. [#76802](https://github.com/ClickHouse/ClickHouse/pull/76802) ([Arthur Passos](https://github.com/arthurpassos)).
* Se añade la tabla del sistema `zookeeper_connection_log` para almacenar información histórica sobre las conexiones de ZooKeeper. [#79494](https://github.com/ClickHouse/ClickHouse/pull/79494) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* La configuración del servidor `cpu_slot_preemption` habilita la planificación preventiva de CPU para las cargas de trabajo y garantiza una asignación max-min justa del tiempo de CPU entre las cargas de trabajo. Se añaden nuevas configuraciones de carga de trabajo para la limitación de CPU: `max_cpus`, `max_cpu_share` y `max_burst_cpu_seconds`. Más detalles: [https://clickhouse.com/docs/operations/workload-scheduling#cpu\&#95;scheduling](https://clickhouse.com/docs/operations/workload-scheduling#cpu\&#95;scheduling). [#80879](https://github.com/ClickHouse/ClickHouse/pull/80879) ([Sergei Trifonov](https://github.com/serxa)).
* Cerrar la conexión TCP después de un número configurado de consultas o de un umbral de tiempo. Esto resulta útil para lograr una distribución más uniforme de las conexiones entre los nodos del cluster detrás de un balanceador de carga. Resuelve [#68000](https://github.com/ClickHouse/ClickHouse/issues/68000). [#81472](https://github.com/ClickHouse/ClickHouse/pull/81472) ([Kenny Sun](https://github.com/hwabis)).
* Las réplicas paralelas ahora permiten usar proyecciones en las consultas. [#82659](https://github.com/ClickHouse/ClickHouse/issues/82659). [#82807](https://github.com/ClickHouse/ClickHouse/pull/82807) ([zoomxi](https://github.com/zoomxi)).
* Admite DESCRIBE SELECT, además de DESCRIBE (SELECT ...). [#82947](https://github.com/ClickHouse/ClickHouse/pull/82947) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Forzar el uso de una conexión segura para mysql\_port y postgresql\_port. [#82962](https://github.com/ClickHouse/ClickHouse/pull/82962) ([tiandiwonder](https://github.com/tiandiwonder)).
* Ahora puede realizar búsquedas de claves JSON sin distinguir entre mayúsculas y minúsculas con `JSONExtractCaseInsensitive` (y otras variantes de `JSONExtract`). [#83770](https://github.com/ClickHouse/ClickHouse/pull/83770) ([Alistair Evans](https://github.com/alistairjevans)).
* Se introduce la tabla `system.completions`. Cierra [#81889](https://github.com/ClickHouse/ClickHouse/issues/81889). [#83833](https://github.com/ClickHouse/ClickHouse/pull/83833) ([|2ustam](https://github.com/RuS2m)).
* Se añadió una nueva función `nowInBlock64`. Ejemplo de uso: `SELECT nowInBlock64(6)` devuelve `2025-07-29 17:09:37.775725`. [#84178](https://github.com/ClickHouse/ClickHouse/pull/84178) ([Halersson Paris](https://github.com/halersson)).
* Añade extra\_credentials a AzureBlobStorage para autenticarse mediante client\_id y tenant\_id. [#84235](https://github.com/ClickHouse/ClickHouse/pull/84235) ([Pablo Marcos](https://github.com/pamarcos)).
* Se añadió la función `dateTimeToUUIDv7` para convertir un valor de tipo DateTime en un UUIDv7. Ejemplo de uso: `SELECT dateTimeToUUIDv7(toDateTime('2025-08-15 18:57:56'))` devuelve `0198af18-8320-7a7d-abd3-358db23b9d5c`. [#84319](https://github.com/ClickHouse/ClickHouse/pull/84319) ([samradovich](https://github.com/samradovich)).
* Funciones de agregación `timeSeriesDerivToGrid` y `timeSeriesPredictLinearToGrid` para remuestrear datos en una cuadrícula temporal definida por la marca de tiempo de inicio, la marca de tiempo de fin y el paso especificados; calculan `deriv` y `predict_linear` al estilo de PromQL, respectivamente. [#84328](https://github.com/ClickHouse/ClickHouse/pull/84328) ([Stephen Chi](https://github.com/stephchi0)).
* Se añaden dos nuevas funciones de TimeSeries: - `timeSeriesRange(start_timestamp, end_timestamp, step)`, - `timeSeriesFromGrid(start_timestamp, end_timestamp, step, values)`,. [#85435](https://github.com/ClickHouse/ClickHouse/pull/85435) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadió una nueva sintaxis: `GRANT READ ON S3('s3://foo/.*') TO user`. [#84503](https://github.com/ClickHouse/ClickHouse/pull/84503) ([pufit](https://github.com/pufit)).
* Se añadió `Hash` como un nuevo formato de salida. Calcula un único valor hash para todas las columnas y filas del resultado. Esto resulta útil para calcular una "huella digital" del resultado, por ejemplo, en casos de uso en los que la transferencia de datos supone un cuello de botella. Ejemplo: `SELECT arrayJoin(['abc', 'def']), 42 FORMAT Hash` devuelve `e5f9e676db098fdb9530d2059d8c23ef`. [#84607](https://github.com/ClickHouse/ClickHouse/pull/84607) ([Robert Schulze](https://github.com/rschu1ze)).
* Se añade la posibilidad de configurar watches arbitrarios en consultas Multi de Keeper. [#84964](https://github.com/ClickHouse/ClickHouse/pull/84964) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Añade la opción `--max-concurrency` a la herramienta `clickhouse-benchmark`, que permite un modo con un aumento gradual del número de consultas en paralelo. [#85623](https://github.com/ClickHouse/ClickHouse/pull/85623) ([Sergei Trifonov](https://github.com/serxa)).
* Soporte para métricas parcialmente agregadas. [#85328](https://github.com/ClickHouse/ClickHouse/pull/85328) ([Mikhail Artemenko](https://github.com/Michicosun)).

#### funcionalidad experimental

* Se habilita de forma predeterminada el soporte para subconsultas correlacionadas; ya no son experimentales. [#85107](https://github.com/ClickHouse/ClickHouse/pull/85107) ([Dmitry Novik](https://github.com/novikd)).
* Los catálogos de lago de datos de Unity, Glue, Rest y Hive Metastore pasan de experimental a beta. [#85848](https://github.com/ClickHouse/ClickHouse/pull/85848) ([Melvyn Peignon](https://github.com/melvynator)).
* Las actualizaciones ligeras y las eliminaciones pasan de experimental a beta.
* La búsqueda vectorial aproximada con índices de similitud vectorial ahora es GA. [#85888](https://github.com/ClickHouse/ClickHouse/pull/85888) ([Robert Schulze](https://github.com/rschu1ze)).
* Motor de tabla y función de tabla de Ytsaurus. [#77606](https://github.com/ClickHouse/ClickHouse/pull/77606) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Anteriormente, los datos del índice de texto se separaban en varios segmentos (el tamaño de cada segmento era de 256 MiB de forma predeterminada). Esto podía reducir el consumo de memoria al crear el índice de texto; sin embargo, incrementaba el espacio requerido en disco y el tiempo de respuesta de la consulta. [#84590](https://github.com/ClickHouse/ClickHouse/pull/84590) ([Elmi Ahmadov](https://github.com/ahmadov)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Nueva implementación del lector de Parquet. En general, es más rápida y admite `pushdown` de filtros a nivel de página y PREWHERE. Actualmente está en fase experimental. Use la configuración `input_format_parquet_use_native_reader_v3` para habilitarla. [#82789](https://github.com/ClickHouse/ClickHouse/pull/82789) ([Michael Kolupaev](https://github.com/al13n321)).
* Reemplazamos el transporte HTTP oficial de la biblioteca de Azure por nuestra propia implementación de cliente HTTP para Azure Blob Storage. Incorporamos varias configuraciones para este cliente que replican ajustes de S3. También introdujimos timeouts de conexión agresivos tanto para Azure como para S3. Mejoramos la introspección de los eventos de perfil y las métricas de Azure. El nuevo cliente está habilitado de forma predeterminada y ofrece latencias mucho mejores para consultas en frío sobre Azure Blob Storage. Se puede volver al cliente `Curl` anterior configurando `azure_sdk_use_native_client=false`. [#83294](https://github.com/ClickHouse/ClickHouse/pull/83294) ([alesapin](https://github.com/alesapin)). La implementación oficial anterior del cliente de Azure no era apta para producción debido a picos de latencia desastrosos, que iban desde cinco segundos hasta varios minutos. Hemos descartado esa pésima implementación y estamos muy orgullosos de ello.
* Procesa los índices en orden ascendente de tamaño de archivo. En conjunto, el orden de los índices prioriza los índices minmax y vectoriales (por simplicidad y selectividad, respectivamente), y luego los índices pequeños. Dentro de los índices minmax/vectoriales, también se da preferencia a los índices más pequeños. [#84094](https://github.com/ClickHouse/ClickHouse/pull/84094) ([Maruth Goyal](https://github.com/maruthgoyal)).
* Se habilita de forma predeterminada la configuración de MergeTree `write_marks_for_substreams_in_compact_parts`. Mejora significativamente el rendimiento de la lectura de subcolumnas desde partes Compact recién creadas. Los servidores con una versión inferior a la 25.5 no podrán leer las nuevas partes Compact. [#84171](https://github.com/ClickHouse/ClickHouse/pull/84171) ([Pavel Kruglov](https://github.com/Avogar)).
* Motor de tabla `azureBlobStorage`: almacenar en caché y reutilizar los tokens de autenticación de identidad administrada cuando sea posible para evitar el throttling. [#79860](https://github.com/ClickHouse/ClickHouse/pull/79860) ([Nick Blakely](https://github.com/niblak)).
* Los `ALL` `LEFT/INNER` JOINs se convertirán automáticamente en `RightAny` si el lado derecho queda determinado funcionalmente por las columnas de la clave de JOIN (todas las filas tienen valores únicos en la clave de JOIN). [#84010](https://github.com/ClickHouse/ClickHouse/pull/84010) ([Nikita Taranov](https://github.com/nickitat)).
* Se añade `max_joined_block_size_bytes`, además de `max_joined_block_size_rows`, para limitar el uso de memoria de los JOIN con columnas de gran tamaño. [#83869](https://github.com/ClickHouse/ClickHouse/pull/83869) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se añadió una nueva lógica (controlada por la configuración `enable_producing_buckets_out_of_order_in_aggregation`, habilitada de forma predeterminada) que permite enviar algunos buckets fuera de orden durante la agregación eficiente en memoria. Cuando algunos buckets de agregación tardan mucho más que otros en fusionarse, esto mejora el rendimiento al permitir que el iniciador fusione mientras tanto buckets con identificadores más altos. La desventaja es un uso de memoria potencialmente mayor (no debería ser significativo). [#80179](https://github.com/ClickHouse/ClickHouse/pull/80179) ([Nikita Taranov](https://github.com/nickitat)).
* Se introdujo la configuración `optimize_rewrite_regexp_functions` (habilitada de forma predeterminada), que permite al optimizador reescribir determinadas llamadas a `replaceRegexpAll`, `replaceRegexpOne` y `extract` en formas más simples y eficientes cuando detecta patrones específicos de expresiones regulares. (incidencia [#81981](https://github.com/ClickHouse/ClickHouse/issues/81981)). [#81992](https://github.com/ClickHouse/ClickHouse/pull/81992) ([Amos Bird](https://github.com/amosbird)).
* Se procesa `max_joined_block_rows` fuera del bucle principal de hash JOIN. Rendimiento ligeramente superior para ALL JOIN. [#83216](https://github.com/ClickHouse/ClickHouse/pull/83216) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Procesa primero los índices min-max de mayor granularidad. Cierra [#75381](https://github.com/ClickHouse/ClickHouse/issues/75381). [#83798](https://github.com/ClickHouse/ClickHouse/pull/83798) ([Maruth Goyal](https://github.com/maruthgoyal)).
* Hacer que las agregaciones de ventana con `DISTINCT` se ejecuten en tiempo lineal y corregir un error en `sumDistinct`. Cierra [#79792](https://github.com/ClickHouse/ClickHouse/issues/79792). Cierra [#52253](https://github.com/ClickHouse/ClickHouse/issues/52253). [#79859](https://github.com/ClickHouse/ClickHouse/pull/79859) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Las consultas de búsqueda vectorial que utilizan un índice de similitud vectorial se completan con menor latencia gracias a la reducción de las lecturas desde almacenamiento y del uso de CPU. [#83803](https://github.com/ClickHouse/ClickHouse/pull/83803) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Rendezvous hashing para mejorar la localidad de caché en la distribución de la carga de trabajo entre réplicas paralelas. [#82511](https://github.com/ClickHouse/ClickHouse/pull/82511) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Se implementó addManyDefaults para los combinadores If, de modo que ahora las funciones de agregación con combinadores If funcionan más rápido. [#83870](https://github.com/ClickHouse/ClickHouse/pull/83870) ([Raúl Marín](https://github.com/Algunenano)).
* Calcular la clave serializada de forma columnar al agrupar por varias columnas de cadena o numéricas. [#83884](https://github.com/ClickHouse/ClickHouse/pull/83884) ([李扬](https://github.com/taiyang-li)).
* Se evitaron los escaneos completos en los casos en que el análisis de índices produce rangos vacíos al leer con réplicas paralelas. [#84971](https://github.com/ClickHouse/ClickHouse/pull/84971) ([Eduard Karacharov](https://github.com/korowa)).
* Pruebe `-falign-functions=64` para intentar obtener pruebas de rendimiento más estables. [#83920](https://github.com/ClickHouse/ClickHouse/pull/83920) ([Azat Khuzhin](https://github.com/azat)).
* El índice bloom filter ahora se usa para condiciones como `has([c1, c2, ...], column)`, donde `column` no es de tipo `Array`. Esto mejora el rendimiento de esas consultas y las hace tan eficientes como el operador `IN`. [#83945](https://github.com/ClickHouse/ClickHouse/pull/83945) ([Doron David](https://github.com/dorki)).
* Reduce las llamadas innecesarias a memcpy en CompressedReadBufferBase::readCompressedData. [#83986](https://github.com/ClickHouse/ClickHouse/pull/83986) ([Raúl Marín](https://github.com/Algunenano)).
* Optimiza `largestTriangleThreeBuckets` eliminando los datos temporales. [#84479](https://github.com/ClickHouse/ClickHouse/pull/84479) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Optimiza la deserialización de cadenas al simplificar el código. Cierra [#38564](https://github.com/ClickHouse/ClickHouse/issues/38564). [#84561](https://github.com/ClickHouse/ClickHouse/pull/84561) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió el cálculo del tamaño mínimo de tarea para las réplicas paralelas. [#84752](https://github.com/ClickHouse/ClickHouse/pull/84752) ([Nikita Taranov](https://github.com/nickitat)).
* Se mejoró el rendimiento al aplicar patch parts en modo `Join`. [#85040](https://github.com/ClickHouse/ClickHouse/pull/85040) ([Anton Popov](https://github.com/CurtizJ)).
* Se eliminó el byte cero. Cierra [#85062](https://github.com/ClickHouse/ClickHouse/issues/85062). Se corrigieron algunos errores menores. Las funciones `structureToProtobufSchema` y `structureToCapnProtoSchema` no colocaban correctamente un byte nulo de terminación y usaban un salto de línea en su lugar. Esto provocaba la falta de un salto de línea en la salida y podía causar desbordamientos de búfer al usar otras funciones que dependen del byte cero (como `logTrace`, `demangle`, `extractURLParameter`, `toStringCutToZero` y `encrypt`/`decrypt`). La disposición del Diccionario `regexp_tree` no admitía procesar cadenas con bytes cero. La función `formatRowNoNewline`, cuando se llamaba con el formato `Values` o con cualquier otro formato sin un salto de línea al final de las filas, recortaba por error el último carácter de la salida. La función `stem` contenía un error de seguridad ante excepciones que, en un caso muy poco frecuente, podía provocar una fuga de memoria. La función `initcap` funcionaba incorrectamente para argumentos `FixedString`: no reconocía el inicio de una palabra al comienzo de la cadena si la cadena anterior en un bloque terminaba con un carácter de palabra. Se corrigió una vulnerabilidad de seguridad en el formato Apache `ORC`, que podía provocar la exposición de memoria no inicializada. Se cambió el comportamiento de la función `replaceRegexpAll` y del alias correspondiente, `REGEXP_REPLACE`: ahora puede realizar una coincidencia vacía al final de la cadena incluso si la coincidencia anterior procesó toda la cadena, como en el caso de `^a*|a*$` o `^|.*`; esto se corresponde con la semántica de JavaScript, Perl, Python, PHP y Ruby, pero difiere de la semántica de PostgreSQL. La implementación de muchas funciones se ha simplificado y optimizado. La documentación de varias funciones era incorrecta y ahora se ha corregido. Tenga en cuenta que la salida de `byteSize` para columnas String y tipos complejos, que consistían en columnas String, ha cambiado (de 9 bytes por cadena vacía a 8 bytes por cadena vacía), y esto es normal. [#85063](https://github.com/ClickHouse/ClickHouse/pull/85063) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Optimiza la materialización de constantes en los casos en los que esta materialización se realiza solo para devolver una única fila. [#85071](https://github.com/ClickHouse/ClickHouse/pull/85071) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora del procesamiento paralelo de archivos con el backend de delta-kernel-rs. [#85642](https://github.com/ClickHouse/ClickHouse/pull/85642) ([Azat Khuzhin](https://github.com/azat)).
* Se ha introducido un nuevo ajuste, enable\_add\_distinct\_to\_in\_subqueries. Cuando está habilitado, ClickHouse añadirá automáticamente DISTINCT a las subconsultas de las cláusulas IN en las consultas distribuidas. Esto puede reducir significativamente el tamaño de las tablas temporales transferidas entre segmentos y mejorar la eficiencia de la red. Nota: esto supone una contrapartida: aunque se reduce la transferencia de red, se requiere trabajo adicional de fusión (deduplicación) en cada nodo. Habilite este ajuste cuando la transferencia de red sea un cuello de botella y el coste de la fusión sea aceptable. [#81908](https://github.com/ClickHouse/ClickHouse/pull/81908) ([fhw12345](https://github.com/fhw12345)).
* Reduce la sobrecarga del seguimiento de memoria de las consultas para las funciones ejecutables definidas por el usuario. [#83929](https://github.com/ClickHouse/ClickHouse/pull/83929) ([Eduard Karacharov](https://github.com/korowa)).
* Implementar el filtrado interno de `delta-kernel-rs` (estadísticas y poda de particiones) en el almacenamiento `DeltaLake`. [#84006](https://github.com/ClickHouse/ClickHouse/pull/84006) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Deshabilitar con mayor granularidad los índices de salto de datos que dependen de columnas actualizadas sobre la marcha o mediante patch parts. Ahora, los índices de salto de datos solo dejan de usarse en las partes afectadas por mutaciones sobre la marcha o patch parts; antes, esos índices se deshabilitaban en todas las partes. [#84241](https://github.com/ClickHouse/ClickHouse/pull/84241) ([Anton Popov](https://github.com/CurtizJ)).
* Asigne a encrypted\_buffer la cantidad mínima de memoria necesaria para las named collections cifradas. [#84432](https://github.com/ClickHouse/ClickHouse/pull/84432) ([Pablo Marcos](https://github.com/pamarcos)).
* Se mejoró el soporte para los índices bloom filter (regular, ngram y token) para que puedan utilizarse cuando el primer argumento es un array constante (el conjunto) y el segundo es la columna indexada (el subconjunto), lo que permite una ejecución de consultas más eficiente. [#84700](https://github.com/ClickHouse/ClickHouse/pull/84700) ([Doron David](https://github.com/dorki)).
* Reducir la contención del bloqueo de almacenamiento en Keeper. [#84732](https://github.com/ClickHouse/ClickHouse/pull/84732) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añade la compatibilidad que faltaba de `read_in_order_use_virtual_row` para `WHERE`. Permite omitir la lectura de más partes en consultas con filtros que no se han trasladado por completo a `PREWHERE`. [#84835](https://github.com/ClickHouse/ClickHouse/pull/84835) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Permite iterar de forma asíncrona sobre objetos de una tabla Iceberg sin almacenar explícitamente objetos para cada archivo de datos. [#85369](https://github.com/ClickHouse/ClickHouse/pull/85369) ([Daniil Ivanik](https://github.com/divanik)).
* Ejecute `EXISTS` no correlacionado como una subconsulta escalar. Esto permite usar una caché de subconsultas escalares y convertir el resultado en una constante, lo que resulta útil para los índices. Por compatibilidad, se añade el nuevo ajuste `execute_exists_as_scalar_subquery=1`. [#85481](https://github.com/ClickHouse/ClickHouse/pull/85481) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

<div id="improvement">
  #### Mejora
</div>

* Se añaden opciones de configuración `database_replicated` que definen los valores predeterminados de DatabaseReplicatedSettings. Si la configuración no está presente en la consulta CREATE de la base de datos Replicated, se usa el valor de esta configuración. [#85127](https://github.com/ClickHouse/ClickHouse/pull/85127) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se añadió la posibilidad de redimensionar las columnas de la tabla en la interfaz web (play). [#84012](https://github.com/ClickHouse/ClickHouse/pull/84012) ([Doron David](https://github.com/dorki)).
* Se admite el archivo `.metadata.json` comprimido mediante la configuración `iceberg_metadata_compression_method`. Admite todos los métodos de compresión de ClickHouse. Esto cierra [#84895](https://github.com/ClickHouse/ClickHouse/issues/84895). [#85196](https://github.com/ClickHouse/ClickHouse/pull/85196) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Mostrar el número de rangos que se leerán en la salida de `EXPLAIN indexes = 1`. [#79938](https://github.com/ClickHouse/ClickHouse/pull/79938) ([Christoph Wurm](https://github.com/cwurm)).
* Se añaden ajustes para configurar el tamaño del bloque de compresión de ORC, y se actualiza su valor predeterminado de 64KB a 256KB para mantener la coherencia con Spark o Hive. [#80602](https://github.com/ClickHouse/ClickHouse/pull/80602) ([李扬](https://github.com/taiyang-li)).
* Se añadió el archivo `columns_substreams.txt` a la parte Wide para registrar todos los subflujos almacenados en ella. Esto permite rastrear los flujos dinámicos en los tipos JSON y Dynamic y, así, evitar leer una muestra de estas columnas para obtener la lista de flujos dinámicos (por ejemplo, para calcular el tamaño de las columnas). Además, ahora todos los flujos dinámicos se reflejan en `system.parts_columns`. [#81091](https://github.com/ClickHouse/ClickHouse/pull/81091) ([Pavel Kruglov](https://github.com/Avogar)).
* Se añade una opción de la CLI, --show\_secrets, a clickhouse format para ocultar los datos confidenciales de forma predeterminada. [#81524](https://github.com/ClickHouse/ClickHouse/pull/81524) ([Nikolai Ryzhov](https://github.com/Dolaxom)).
* Las solicitudes de lectura y escritura de S3 se regulan a nivel del socket HTTP (en lugar de a nivel de las solicitudes completas de S3) para evitar problemas con la limitación de `max_remote_read_network_bandwidth_for_server` y `max_remote_write_network_bandwidth_for_server`. [#81837](https://github.com/ClickHouse/ClickHouse/pull/81837) ([Sergei Trifonov](https://github.com/serxa)).
* Permitir mezclar distintas intercalaciones para la misma columna en diferentes ventanas (en funciones de ventana). [#82877](https://github.com/ClickHouse/ClickHouse/pull/82877) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Añadir una herramienta para simular, visualizar y comparar selectores de fusión. [#71496](https://github.com/ClickHouse/ClickHouse/pull/71496) ([Sergei Trifonov](https://github.com/serxa)).
* Se añade compatibilidad para las funciones de tabla `remote*` con réplicas paralelas si se proporciona un clúster en el argumento `address_expression`. Además, corrige [#73295](https://github.com/ClickHouse/ClickHouse/issues/73295). [#82904](https://github.com/ClickHouse/ClickHouse/pull/82904) ([Igor Nikonov](https://github.com/devcrafter)).
* Establece en TRACE todos los mensajes de registro para la escritura de archivos de copia de seguridad. [#82907](https://github.com/ClickHouse/ClickHouse/pull/82907) ([Hans Krutzer](https://github.com/hkrutzer)).
* Las funciones definidas por el usuario con nombres inusuales y los codecs pueden recibir un formato inconsistente por parte del formateador de SQL. Esto cierra [#83092](https://github.com/ClickHouse/ClickHouse/issues/83092). [#83644](https://github.com/ClickHouse/ClickHouse/pull/83644) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ahora se pueden usar los tipos Time y Time64 dentro del tipo JSON. [#83784](https://github.com/ClickHouse/ClickHouse/pull/83784) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Los joins con réplicas en paralelo ahora usan el paso lógico de join. Si surge algún problema con las consultas con join que usan réplicas en paralelo, prueba `SET query_plan_use_new_logical_join_step=0` y reporta el problema. [#83801](https://github.com/ClickHouse/ClickHouse/pull/83801) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrige la compatibilidad de cluster\_function\_process\_archive\_on\_multiple\_nodes. [#83968](https://github.com/ClickHouse/ClickHouse/pull/83968) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admite cambiar la configuración de `insert` de las vistas materializadas a nivel de tabla de `S3Queue`. Se añadieron nuevas configuraciones a nivel de `S3Queue`: `min_insert_block_size_rows_for_materialized_views` y `min_insert_block_size_bytes_for_materialized_views`. De forma predeterminada, se usarán las configuraciones del perfil, y las configuraciones a nivel de `S3Queue` las anularán. [#83971](https://github.com/ClickHouse/ClickHouse/pull/83971) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se agregó el evento de perfil `MutationAffectedRowsUpperBound`, que muestra el número de filas afectadas en una mutación (p. ej., el número total de filas que cumplen la condición en la consulta `ALTER UPDATE` o `ALTER DELETE`. [#83978](https://github.com/ClickHouse/ClickHouse/pull/83978) ([Anton Popov](https://github.com/CurtizJ)).
* Usa información de cgroup (si aplica, es decir, si `memory_worker_use_cgroup` y los cgroups están disponibles) para ajustar el rastreador de memoria (`memory_worker_correct_memory_tracker`). [#83981](https://github.com/ClickHouse/ClickHouse/pull/83981) ([Azat Khuzhin](https://github.com/azat)).
* MongoDB: Conversión implícita de cadenas en tipos numéricos. Anteriormente, si se recibía un valor de cadena desde una fuente de MongoDB para una columna numérica en una tabla de ClickHouse, se producía una excepción. Ahora, el motor intenta interpretar automáticamente el valor numérico contenido en la cadena. Cierra [#81167](https://github.com/ClickHouse/ClickHouse/issues/81167). [#84069](https://github.com/ClickHouse/ClickHouse/pull/84069) ([Kirill Nikiforov](https://github.com/allmazz)).
* Resaltar grupos de dígitos en los formatos `Pretty` para números `Nullable`. [#84070](https://github.com/ClickHouse/ClickHouse/pull/84070) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Dashboard: el tooltip no se desbordará del contenedor en la parte superior. [#84072](https://github.com/ClickHouse/ClickHouse/pull/84072) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Puntos con un aspecto algo mejor en el panel. [#84074](https://github.com/ClickHouse/ClickHouse/pull/84074) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El dashboard ahora tiene un favicon un poco mejor. [#84076](https://github.com/ClickHouse/ClickHouse/pull/84076) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Interfaz web: dar a los navegadores la opción de guardar la contraseña. Además, se recordarán los valores de la URL. [#84087](https://github.com/ClickHouse/ClickHouse/pull/84087) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió compatibilidad para aplicar ACL adicionales a nodos específicos de Keeper mediante la configuración `apply_to_children`. [#84137](https://github.com/ClickHouse/ClickHouse/pull/84137) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el uso de la serialización de los discriminadores "compact" de Variant en MergeTree. Antes no se utilizaba en algunos casos en los que sí podía usarse. [#84141](https://github.com/ClickHouse/ClickHouse/pull/84141) ([Pavel Kruglov](https://github.com/Avogar)).
* Se añadió una server setting, `logs_to_keep`, a la configuración de bases de datos Replicated, que permite cambiar el parámetro predeterminado `logs_to_keep` para las bases de datos replicadas. Los valores más bajos reducen la cantidad de ZNodes (especialmente si hay muchas bases de datos), mientras que los valores más altos permiten que una réplica ausente se ponga al día tras un período de tiempo más largo. [#84183](https://github.com/ClickHouse/ClickHouse/pull/84183) ([Alexey Khatskevich](https://github.com/Khatskevich)).
* Se añade la configuración `json_type_escape_dots_in_keys` para escapar los puntos en las claves JSON durante el análisis del tipo JSON. La configuración está deshabilitada de forma predeterminada. [#84207](https://github.com/ClickHouse/ClickHouse/pull/84207) ([Pavel Kruglov](https://github.com/Avogar)).
* Comprobar si la conexión se ha cancelado antes de comprobar el EOF para evitar leer de una conexión cerrada. Corrige [#83893](https://github.com/ClickHouse/ClickHouse/issues/83893). [#84227](https://github.com/ClickHouse/ClickHouse/pull/84227) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Colores ligeramente mejorados para la selección de texto en la Web UI. La diferencia solo es significativa en las celdas de tabla seleccionadas en el modo oscuro. En versiones anteriores, no había suficiente contraste entre el texto y el fondo de la selección. [#84258](https://github.com/ClickHouse/ClickHouse/pull/84258) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se mejoró la gestión del apagado del servidor para las conexiones de cliente al simplificar las comprobaciones internas. [#84312](https://github.com/ClickHouse/ClickHouse/pull/84312) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se añadió un ajuste `delta_lake_enable_expression_visitor_logging` para desactivar los registros del visitante de expresiones, ya que pueden resultar demasiado verbosos incluso con el nivel de registro de prueba al depurar algún problema. [#84315](https://github.com/ClickHouse/ClickHouse/pull/84315) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Las métricas a nivel de cgroup y las métricas de todo el sistema ahora se informan de forma conjunta. Las métricas a nivel de cgroup tienen nombres `CGroup<Metric>` y las métricas a nivel del SO (recopiladas de procfs) tienen nombres `OS<Metric>`. [#84317](https://github.com/ClickHouse/ClickHouse/pull/84317) ([Nikita Taranov](https://github.com/nickitat)).
* Gráficos ligeramente mejores en la Web UI. No gran cosa, pero mejores. [#84326](https://github.com/ClickHouse/ClickHouse/pull/84326) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se cambia el valor predeterminado del ajuste `max_retries_before_automatic_recovery` de la base de datos Replicated a 10 para que la recuperación sea más rápida en algunos casos. [#84369](https://github.com/ClickHouse/ClickHouse/pull/84369) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se corrigió el formato de CREATE USER con parámetros de consulta (es decir, `CREATE USER {username:Identifier} IDENTIFIED WITH no_password`). [#84376](https://github.com/ClickHouse/ClickHouse/pull/84376) ([Azat Khuzhin](https://github.com/azat)).
* Se introducen `backup_restore_s3_retry_initial_backoff_ms`, `backup_restore_s3_retry_max_backoff_ms`, `backup_restore_s3_retry_jitter_factor` para configurar la estrategia de backoff de los reintentos de S3 utilizada durante las operaciones de copia de seguridad y restauración. [#84421](https://github.com/ClickHouse/ClickHouse/pull/84421) ([Julia Kartseva](https://github.com/jkartseva)).
* Corrección del modo ordenado de S3Queue: finalizar antes si ya se había llamado a shutdown. [#84463](https://github.com/ClickHouse/ClickHouse/pull/84463) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Compatibilidad con escrituras de Iceberg para su lectura desde pyiceberg. [#84466](https://github.com/ClickHouse/ClickHouse/pull/84466) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Permitir la conversión de tipos de los valores de Set durante el pushdown de filtros `IN` / `GLOBAL IN` sobre las claves primarias del almacenamiento KeyValue (p. ej., EmbeddedRocksDB, KeeperMap). [#84515](https://github.com/ClickHouse/ClickHouse/pull/84515) ([Eduard Karacharov](https://github.com/korowa)).
* Se actualiza chdig a [25.7.1](https://github.com/azat/chdig/releases/tag/v25.7.1). [#84521](https://github.com/ClickHouse/ClickHouse/pull/84521) ([Azat Khuzhin](https://github.com/azat)).
* Los errores de bajo nivel durante la ejecución de UDF ahora se reportan con el código de error `UDF_EXECUTION_FAILED`, mientras que antes podían devolverse códigos de error distintos. [#84547](https://github.com/ClickHouse/ClickHouse/pull/84547) ([Xu Jia](https://github.com/XuJia0210)).
* Se añade el comando `get_acl` a KeeperClient. [#84641](https://github.com/ClickHouse/ClickHouse/pull/84641) ([Antonio Andelic](https://github.com/antonio2368)).
* Añade la versión de instantánea a los motores de tablas de lago de datos. [#84659](https://github.com/ClickHouse/ClickHouse/pull/84659) ([Pete Hampton](https://github.com/pjhampton)).
* Se añade una métrica dimensional del tamaño de `ConcurrentBoundedQueue`, etiquetada por el tipo de cola (es decir, la finalidad de la cola) y el id de la cola (es decir, un id generado aleatoriamente para la instancia actual de la cola). [#84675](https://github.com/ClickHouse/ClickHouse/pull/84675) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* La tabla `system.columns` ahora ofrece `column` como alias de la columna existente `name`. [#84695](https://github.com/ClickHouse/ClickHouse/pull/84695) ([Yunchi Pang](https://github.com/yunchipang)).
* Nueva opción de configuración de MergeTree `search_orphaned_parts_drives` para limitar el alcance de la búsqueda de partes, por ejemplo, a discos con metadatos locales. [#84710](https://github.com/ClickHouse/ClickHouse/pull/84710) ([Ilya Golshtein](https://github.com/ilejn)).
* Se añadió 4LW en Keeper, `lgrq`, para activar o desactivar el registro de solicitudes recibidas. [#84719](https://github.com/ClickHouse/ClickHouse/pull/84719) ([Antonio Andelic](https://github.com/antonio2368)).
* Hacer que los forward\_headers de autenticación externa coincidan sin distinguir entre mayúsculas y minúsculas. [#84737](https://github.com/ClickHouse/ClickHouse/pull/84737) ([ingodwerust](https://github.com/ingodwerust)).
* La herramienta `encrypt_decrypt` ahora admite conexiones cifradas con ZooKeeper. [#84764](https://github.com/ClickHouse/ClickHouse/pull/84764) ([Roman Vasin](https://github.com/rvasin)).
* Añadir la columna de cadena de formato a `system.errors`. Esta columna es necesaria para agrupar por el mismo tipo de error en las reglas de alerta. [#84776](https://github.com/ClickHouse/ClickHouse/pull/84776) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se actualizó `clickhouse-format` para aceptar `--highlight` como alias de `--hilite`. - Se actualizó `clickhouse-client` para aceptar `--hilite` como alias de `--highlight`. - Se actualizó la documentación de `clickhouse-format` para reflejar este cambio. [#84806](https://github.com/ClickHouse/ClickHouse/pull/84806) ([Rishabh Bhardwaj](https://github.com/rishabh1815769)).
* Se corrigió la lectura de Iceberg por IDs de campo en tipos complejos. [#84821](https://github.com/ClickHouse/ClickHouse/pull/84821) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se introduce una nueva configuración `backup_slow_all_threads_after_retryable_s3_error` para reducir la presión sobre S3 durante tormentas de reintentos provocadas por errores como `SlowDown`, ralentizando todos los hilos en cuanto se detecta un único error reintentable. [#84854](https://github.com/ClickHouse/ClickHouse/pull/84854) ([Julia Kartseva](https://github.com/jkartseva)).
* Omitir la creación y el renombrado de la antigua tabla temporal de los DDL de RMV no append en las BD Replicated. [#84858](https://github.com/ClickHouse/ClickHouse/pull/84858) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Limitar el tamaño de la caché de entradas de log de Keeper por número de entradas mediante `keeper_server.coordination_settings.latest_logs_cache_entry_count_threshold` y `keeper_server.coordination_settings.commit_logs_cache_entry_count_threshold`. [#84877](https://github.com/ClickHouse/ClickHouse/pull/84877) ([Antonio Andelic](https://github.com/antonio2368)).
* Se permite usar `simdjson` en arquitecturas no compatibles (antes provocaba errores `CANNOT_ALLOCATE_MEMORY`). [#84966](https://github.com/ClickHouse/ClickHouse/pull/84966) ([Azat Khuzhin](https://github.com/azat)).
* Logging asíncrono: hacer ajustables los límites y añadir introspección. [#85105](https://github.com/ClickHouse/ClickHouse/pull/85105) ([Raúl Marín](https://github.com/Algunenano)).
* Recopila todos los objetos eliminados para ejecutar una única operación de eliminación en el almacenamiento de objetos. [#85316](https://github.com/ClickHouse/ClickHouse/pull/85316) ([Mikhail Artemenko](https://github.com/Michicosun)).
* La implementación actual de Iceberg para los archivos de eliminación posicional mantiene todos los datos en RAM. Esto puede resultar bastante costoso si los archivos de eliminación posicional son grandes, algo que suele ocurrir. Mi implementación mantiene en RAM solo el último grupo de filas de los archivos de eliminación Parquet, lo que resulta significativamente más económico. [#85329](https://github.com/ClickHouse/ClickHouse/pull/85329) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* chdig: corrige restos en la pantalla, corrige un fallo tras editar una consulta en el editor, busca `editor` en `path`, actualiza a [25.8.1](https://github.com/azat/chdig/releases/tag/v25.8.1). [#85341](https://github.com/ClickHouse/ClickHouse/pull/85341) ([Azat Khuzhin](https://github.com/azat)).
* Añadir `partition_columns_in_data_file` que faltaba a la configuración de Azure. [#85373](https://github.com/ClickHouse/ClickHouse/pull/85373) ([Arthur Passos](https://github.com/arthurpassos)).
* Permitir un paso de cero en las funciones `timeSeries*ToGrid` Esto forma parte de [#75036](https://github.com/ClickHouse/ClickHouse/pull/75036). [#85390](https://github.com/ClickHouse/ClickHouse/pull/85390) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadió la opción show\_data\_lake\_catalogs\_in\_system\_tables para controlar la incorporación de tablas de lago de datos en system.tables. Resuelve [#85384](https://github.com/ClickHouse/ClickHouse/issues/85384). [#85411](https://github.com/ClickHouse/ClickHouse/pull/85411) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se añadió compatibilidad con la expansión de macros en `remote_fs_zero_copy_zookeeper_path`. [#85437](https://github.com/ClickHouse/ClickHouse/pull/85437) ([Mikhail Koviazin](https://github.com/mkmkme)).
* La IA en clickhouse-client tendrá un aspecto ligeramente mejor. [#85447](https://github.com/ClickHouse/ClickHouse/pull/85447) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Habilitar trace\_log.symbolize de forma predeterminada para despliegues antiguos. [#85456](https://github.com/ClickHouse/ClickHouse/pull/85456) ([Azat Khuzhin](https://github.com/azat)).
* Se amplía la resolución de más casos de identificadores compuestos. En particular, mejora la compatibilidad de `ARRAY JOIN` con el analizador anterior. Se introduce una nueva configuración, `analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested`, para mantener el comportamiento anterior. [#85492](https://github.com/ClickHouse/ClickHouse/pull/85492) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Ignorar UNKNOWN\_DATABASE al obtener los tamaños de las columnas de tabla en system.columns. [#85632](https://github.com/ClickHouse/ClickHouse/pull/85632) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió un límite (configuración de tabla `max_uncompressed_bytes_in_patches`) para la cantidad total de bytes sin comprimir en las partes de parche. Esto evita ralentizaciones significativas en las consultas SELECT tras las actualizaciones ligeras y también posibles usos indebidos de las actualizaciones ligeras. [#85641](https://github.com/ClickHouse/ClickHouse/pull/85641) ([Anton Popov](https://github.com/CurtizJ)).
* Agregar una columna `parameter` a `system.grants` para indicar el tipo de origen en `GRANT READ/WRITE` y el motor de tabla en `GRANT TABLE ENGINE`. [#85643](https://github.com/ClickHouse/ClickHouse/pull/85643) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se corrige el análisis sintáctico de una coma final en las columnas de la consulta CREATE DICTIONARY después de una columna con parámetros, por ejemplo, Decimal(8). Cierra [#85586](https://github.com/ClickHouse/ClickHouse/issues/85586). [#85653](https://github.com/ClickHouse/ClickHouse/pull/85653) ([Nikolay Degterinsky](https://github.com/evillique)).
* Compatibilidad con arrays internos en la función `nested`. [#85719](https://github.com/ClickHouse/ClickHouse/pull/85719) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Ahora, todas las asignaciones realizadas por bibliotecas externas son visibles para el rastreador de memoria de ClickHouse y se contabilizan correctamente. Esto puede dar lugar a un uso de memoria reportado "aumentado" en determinadas consultas o a fallos con `MEMORY_LIMIT_EXCEEDED`. [#84082](https://github.com/ClickHouse/ClickHouse/pull/84082) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Este PR corrige la resolución de los metadatos al consultar tablas Iceberg a través del catálogo REST. ... [#80562](https://github.com/ClickHouse/ClickHouse/pull/80562) ([Saurabh Kumar Ojha](https://github.com/saurabhojha)).
* Se corrige markReplicasActive en DDLWorker y DatabaseReplicatedDDLWorker. [#81395](https://github.com/ClickHouse/ClickHouse/pull/81395) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrige la reversión de una columna Dynamic cuando falla el análisis. [#82169](https://github.com/ClickHouse/ClickHouse/pull/82169) ([Pavel Kruglov](https://github.com/Avogar)).
* La función `trim`, cuando se llama con entradas constantes, ahora produce una cadena de salida constante. (Error [#78796](https://github.com/ClickHouse/ClickHouse/issues/78796)). [#82900](https://github.com/ClickHouse/ClickHouse/pull/82900) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrige un error lógico con subconsultas duplicadas cuando `optimize_syntax_fuse_functions` está habilitado; resuelve [#75511](https://github.com/ClickHouse/ClickHouse/issues/75511). [#83300](https://github.com/ClickHouse/ClickHouse/pull/83300) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió el resultado incorrecto de las consultas con la cláusula `WHERE ... IN (<subquery>)` cuando estaba habilitada la caché de condiciones de consulta (ajuste `use_query_condition_cache`). [#83445](https://github.com/ClickHouse/ClickHouse/pull/83445) ([LB7666](https://github.com/acking-you)).
* Históricamente, la función `gcs` no requería ningún permiso de acceso para usarse. Ahora comprobará el permiso `GRANT READ ON S3` para poder utilizarse. Cierra [#70567](https://github.com/ClickHouse/ClickHouse/issues/70567). [#83503](https://github.com/ClickHouse/ClickHouse/pull/83503) ([pufit](https://github.com/pufit)).
* Omitir los nodos no disponibles durante INSERT SELECT desde s3Cluster() en un MergeTree replicado. [#83676](https://github.com/ClickHouse/ClickHouse/pull/83676) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrige la escritura con append (en MergeTree, usado para transacciones experimentales) con tipos de metadatos `plain_rewritable`/`plain`; antes simplemente se ignoraban. [#83695](https://github.com/ClickHouse/ClickHouse/pull/83695) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Ocultar los detalles de autenticación del registro de esquemas Avro para que no sean visibles para el usuario ni en los logs. [#83713](https://github.com/ClickHouse/ClickHouse/pull/83713) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se corrige un problema por el cual, si se crea una tabla MergeTree con `add_minmax_index_for_numeric_columns=1` o `add_minmax_index_for_string_columns=1`, el índice se materializa posteriormente durante una operación ALTER, lo que impide que la base de datos Replicated se inicialice correctamente en una nueva réplica. [#83751](https://github.com/ClickHouse/ClickHouse/pull/83751) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió el escritor de Parquet, que generaba estadísticas incorrectas (mín./máx.) para tipos Decimal. [#83754](https://github.com/ClickHouse/ClickHouse/pull/83754) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige la ordenación de los valores NaN en el tipo `LowCardinality(Float32|Float64|BFloat16)`. [#83786](https://github.com/ClickHouse/ClickHouse/pull/83786) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Al restaurar desde una copia de seguridad, es posible que el usuario definidor no se incluya en la copia de seguridad, lo que puede inutilizar toda la copia de seguridad. Para corregirlo, posponemos la comprobación de permisos al crear la tabla de destino durante la restauración y solo la realizamos en tiempo de ejecución. [#83818](https://github.com/ClickHouse/ClickHouse/pull/83818) ([pufit](https://github.com/pufit)).
* Se corrige un cierre inesperado del cliente debido a que la conexión quedaba en estado desconectado tras un INSERT erróneo. [#83842](https://github.com/ClickHouse/ClickHouse/pull/83842) ([Azat Khuzhin](https://github.com/azat)).
* Permite hacer referencia a cualquier tabla en el argumento `view(...)` de la función de tabla `remote` con el analizador habilitado. Corrige [#78717](https://github.com/ClickHouse/ClickHouse/issues/78717). Corrige [#79377](https://github.com/ClickHouse/ClickHouse/issues/79377). [#83844](https://github.com/ClickHouse/ClickHouse/pull/83844) ([Dmitry Novik](https://github.com/novikd)).
* La llamada a Onprogress en jsoneachrowwithprogress se ha sincronizado con la finalización. [#83879](https://github.com/ClickHouse/ClickHouse/pull/83879) ([Sema Checherinda](https://github.com/CheSema)).
* Se cierra [#81303](https://github.com/ClickHouse/ClickHouse/issues/81303). [#83892](https://github.com/ClickHouse/ClickHouse/pull/83892) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se corrige colorSRGBToOKLCH/colorOKLCHToSRGB cuando se mezclan argumentos const y no const. [#83906](https://github.com/ClickHouse/ClickHouse/pull/83906) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la escritura de rutas JSON con valores NULL en el formato RowBinary. [#83923](https://github.com/ClickHouse/ClickHouse/pull/83923) ([Pavel Kruglov](https://github.com/Avogar)).
* Se ha corregido el desbordamiento de valores grandes (>2106-02-07) al convertir de Date a DateTime64. [#83982](https://github.com/ClickHouse/ClickHouse/pull/83982) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Aplica siempre `filesystem_prefetches_limit` (no solo desde `MergeTreePrefetchedReadPool`). [#83999](https://github.com/ClickHouse/ClickHouse/pull/83999) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un error poco frecuente por el que la consulta `MATERIALIZE COLUMN` podía provocar archivos inesperados en `checksums.txt` y acabar dejando partes de datos en estado detached. [#84007](https://github.com/ClickHouse/ClickHouse/pull/84007) ([alesapin](https://github.com/alesapin)).
* Corrige el error lógico `Expected single dictionary argument for function` al hacer un JOIN con una condición de desigualdad cuando una de las columnas es `LowCardinality` y la otra es una constante. Cierra [#81779](https://github.com/ClickHouse/ClickHouse/issues/81779). [#84019](https://github.com/ClickHouse/ClickHouse/pull/84019) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige un bloqueo de clickhouse client cuando se usa en modo interactivo con resaltado de sintaxis. [#84025](https://github.com/ClickHouse/ClickHouse/pull/84025) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrigieron resultados incorrectos cuando se utiliza la caché de condiciones de consulta junto con CTE recursivas (problema [#81506](https://github.com/ClickHouse/ClickHouse/issues/81506)). [#84026](https://github.com/ClickHouse/ClickHouse/pull/84026) ([zhongyuankai](https://github.com/zhongyuankai)).
* Se gestionan correctamente las excepciones en la actualización periódica de las partes. [#84083](https://github.com/ClickHouse/ClickHouse/pull/84083) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la integración del filtro en la condición JOIN en los casos en que los operandos de igualdad tienen tipos distintos o hacen referencia a constantes. Corrige [#83432](https://github.com/ClickHouse/ClickHouse/issues/83432). [#84145](https://github.com/ClickHouse/ClickHouse/pull/84145) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige un cierre inesperado poco frecuente de ClickHouse cuando una tabla tiene una proyección, `lightweight_mutation_projection_mode = 'rebuild'` y el usuario ejecuta una eliminación ligera que borra TODAS las filas de cualquier bloque de la tabla. [#84158](https://github.com/ClickHouse/ClickHouse/pull/84158) ([alesapin](https://github.com/alesapin)).
* Se corrige el interbloqueo causado por el hilo de comprobación de cancelación en segundo plano. [#84203](https://github.com/ClickHouse/ClickHouse/pull/84203) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el análisis recursivo infinito de definiciones `WINDOW` no válidas. Corrige [#83131](https://github.com/ClickHouse/ClickHouse/issues/83131). [#84242](https://github.com/ClickHouse/ClickHouse/pull/84242) ([Dmitry Novik](https://github.com/novikd)).
* Se corrigió un error que provocaba una codificación y decodificación incorrectas en Bech32. El error no se detectó inicialmente porque una implementación en línea del algoritmo utilizada para las pruebas tenía el mismo problema. [#84257](https://github.com/ClickHouse/ClickHouse/pull/84257) ([George Larionov](https://github.com/george-larionov)).
* Se corrigió una construcción incorrecta de tuplas vacías en la función `array()`. Esto corrige [#84202](https://github.com/ClickHouse/ClickHouse/issues/84202). [#84297](https://github.com/ClickHouse/ClickHouse/pull/84297) ([Amos Bird](https://github.com/amosbird)).
* Se corrige `LOGICAL_ERROR` en consultas con réplicas paralelas y varios INNER JOIN seguidos de un RIGHT JOIN. No use réplicas paralelas para esas consultas. [#84299](https://github.com/ClickHouse/ClickHouse/pull/84299) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Anteriormente, los índices `set` no tenían en cuenta las columnas `Nullable` al comprobar si los gránulos cumplían el filtro (problema [#75485](https://github.com/ClickHouse/ClickHouse/issues/75485)). [#84305](https://github.com/ClickHouse/ClickHouse/pull/84305) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Ahora ClickHouse puede leer tablas del Glue Catalog cuando el tipo de tabla se especifica en minúsculas. [#84316](https://github.com/ClickHouse/ClickHouse/pull/84316) ([alesapin](https://github.com/alesapin)).
* No intente sustituir las funciones de tabla por su alternativa de clúster cuando haya un JOIN o una subconsulta. [#84335](https://github.com/ClickHouse/ClickHouse/pull/84335) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrige el uso del logger en `IAccessStorage`. [#84365](https://github.com/ClickHouse/ClickHouse/pull/84365) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrigió un error lógico en las actualizaciones ligeras que modifican todas las columnas de la tabla. [#84380](https://github.com/ClickHouse/ClickHouse/pull/84380) ([Anton Popov](https://github.com/CurtizJ)).
* El códec `DoubleDelta` ahora solo puede aplicarse a columnas de tipo numérico. En particular, las columnas `FixedString` ya no pueden comprimirse con `DoubleDelta`. (corrige [#80220](https://github.com/ClickHouse/ClickHouse/issues/80220)). [#84383](https://github.com/ClickHouse/ClickHouse/pull/84383) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* La comparación con el valor NaN no utilizaba los rangos correctos al evaluar el índice `MinMax`. [#84386](https://github.com/ClickHouse/ClickHouse/pull/84386) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se corrige la lectura de una columna Variant con materialización diferida. [#84400](https://github.com/ClickHouse/ClickHouse/pull/84400) ([Pavel Kruglov](https://github.com/Avogar)).
* Hacer que `zoutofmemory` sea un error de hardware; de lo contrario, lanzará un error lógico. Véase [https://github.com/clickhouse/clickhouse-core-incidents/issues/877](https://github.com/clickhouse/clickhouse-core-incidents/issues/877). [#84420](https://github.com/ClickHouse/ClickHouse/pull/84420) ([Han Fei](https://github.com/hanfei1991)).
* Se corrigió un bloqueo del servidor cuando un usuario creado con `no_password` intentaba iniciar sesión después de cambiar a 0 la configuración del servidor `allow_no_password`. [#84426](https://github.com/ClickHouse/ClickHouse/pull/84426) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se solucionan las escrituras fuera de orden en el changelog de Keeper. Anteriormente, podíamos tener escrituras en curso en el changelog, pero un rollback podía provocar una modificación simultánea del archivo de destino. Esto podía dar lugar a logs inconsistentes y a una posible pérdida de datos. [#84434](https://github.com/ClickHouse/ClickHouse/pull/84434) ([Antonio Andelic](https://github.com/antonio2368)).
* Ahora, si se eliminan todos los TTL de la tabla, MergeTree ya no hará nada relacionado con el TTL. [#84441](https://github.com/ClickHouse/ClickHouse/pull/84441) ([alesapin](https://github.com/alesapin)).
* Se permitía `INSERT SELECT` distribuido en paralelo con `LIMIT`, algo incorrecto, ya que provocaba la duplicación de datos en la tabla de destino. [#84477](https://github.com/ClickHouse/ClickHouse/pull/84477) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrige la poda de archivos mediante una columna virtual en lagos de datos. [#84520](https://github.com/ClickHouse/ClickHouse/pull/84520) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregidas fugas en Keeper con almacenamiento RocksDB (los iteradores no se destruían). [#84523](https://github.com/ClickHouse/ClickHouse/pull/84523) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un problema por el que ALTER MODIFY ORDER BY no validaba las columnas TTL en las claves de ordenación. Ahora, las columnas TTL se rechazan correctamente cuando se usan en cláusulas ORDER BY durante operaciones ALTER, lo que evita una posible corrupción de la tabla. [#84536](https://github.com/ClickHouse/ClickHouse/pull/84536) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Cambiar a `false` el valor de `allow_experimental_delta_kernel_rs` en versiones anteriores a 25.5, por compatibilidad. [#84587](https://github.com/ClickHouse/ClickHouse/pull/84587) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Deja de tomar el esquema de los archivos de manifiesto y, en su lugar, almacena de forma independiente los esquemas relevantes de cada instantánea. Infiere el esquema relevante de cada archivo de datos a partir de su instantánea correspondiente. El comportamiento anterior violaba la especificación de Iceberg para las entradas de archivos de manifiesto con estado existing. [#84588](https://github.com/ClickHouse/ClickHouse/pull/84588) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigió un problema por el que la configuración de Keeper `rotate_log_storage_interval = 0` provocaba el cierre inesperado de ClickHouse. (problema [#83975](https://github.com/ClickHouse/ClickHouse/issues/83975)). [#84637](https://github.com/ClickHouse/ClickHouse/pull/84637) ([George Larionov](https://github.com/george-larionov)).
* Corrige el error lógico de S3Queue "Table is already registered". Cierra [#84433](https://github.com/ClickHouse/ClickHouse/issues/84433). Se rompió después de [https://github.com/ClickHouse/ClickHouse/pull/83530](https://github.com/ClickHouse/ClickHouse/pull/83530). [#84677](https://github.com/ClickHouse/ClickHouse/pull/84677) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Bloquear el 'mutex' al obtener ZooKeeper desde 'view' en RefreshTask. [#84699](https://github.com/ClickHouse/ClickHouse/pull/84699) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrige el error `CORRUPTED_DATA` al usar columnas de carga diferida con ordenación externa. [#84738](https://github.com/ClickHouse/ClickHouse/pull/84738) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se corrige la poda de columnas con delta-kernel en `DeltaLake`. Cierra [#84543](https://github.com/ClickHouse/ClickHouse/issues/84543). [#84745](https://github.com/ClickHouse/ClickHouse/pull/84745) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Actualizar credenciales en delta-kernel del almacenamiento DeltaLake. [#84751](https://github.com/ClickHouse/ClickHouse/pull/84751) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el inicio innecesario de copias de seguridad internas tras problemas de conexión. [#84755](https://github.com/ClickHouse/ClickHouse/pull/84755) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrigió un problema por el cual, al consultar una fuente remota con latencia, podía producirse un acceso a un vector fuera de rango. [#84820](https://github.com/ClickHouse/ClickHouse/pull/84820) ([George Larionov](https://github.com/george-larionov)).
* Los tokenizadores `ngram` y `no_op` ya no provocan fallos en el índice de texto (experimental) cuando hay tokens de entrada vacíos. [#84849](https://github.com/ClickHouse/ClickHouse/pull/84849) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrigieron las actualizaciones ligeras en tablas con motores `ReplacingMergeTree` y `CollapsingMergeTree`. [#84851](https://github.com/ClickHouse/ClickHouse/pull/84851) ([Anton Popov](https://github.com/CurtizJ)).
* Almacena correctamente todos los ajustes en los metadatos de las tablas que usan el motor object queue. [#84860](https://github.com/ClickHouse/ClickHouse/pull/84860) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió el recuento total de watches devuelto por Keeper. [#84890](https://github.com/ClickHouse/ClickHouse/pull/84890) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigieron las actualizaciones ligeras en tablas con motor `ReplicatedMergeTree` creadas en servidores con una versión inferior a la 25.7. [#84933](https://github.com/ClickHouse/ClickHouse/pull/84933) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigieron las actualizaciones ligeras en tablas con motor `MergeTree` sin replicación después de ejecutar una consulta `ALTER TABLE ... REPLACE PARTITION`. [#84941](https://github.com/ClickHouse/ClickHouse/pull/84941) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige la generación de nombres de columna para que los literales booleanos usen "true"/"false" en lugar de "1"/"0", evitando conflictos entre nombres de columna de literales booleanos y enteros en las consultas. [#84945](https://github.com/ClickHouse/ClickHouse/pull/84945) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrige el desajuste en el seguimiento de memoria del background schedule pool y del ejecutor. [#84946](https://github.com/ClickHouse/ClickHouse/pull/84946) ([Azat Khuzhin](https://github.com/azat)).
* Corrige posibles problemas de ordenación incorrecta en el motor de tabla Merge. [#85025](https://github.com/ClickHouse/ClickHouse/pull/85025) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Implementa las API que faltan para DiskEncrypted. [#85028](https://github.com/ClickHouse/ClickHouse/pull/85028) ([Azat Khuzhin](https://github.com/azat)).
* Añade una comprobación para evitar un fallo si se usa una subconsulta correlacionada en un contexto distribuido. Corrige [#82205](https://github.com/ClickHouse/ClickHouse/issues/82205). [#85030](https://github.com/ClickHouse/ClickHouse/pull/85030) ([Dmitry Novik](https://github.com/novikd)).
* Ahora, Iceberg ya no intenta almacenar en caché la versión relevante de la instantánea entre consultas `select` y siempre intenta resolver la instantánea correctamente. El intento anterior de almacenar en caché la instantánea de Iceberg provocó problemas al usar una tabla Iceberg con time travel. [#85038](https://github.com/ClickHouse/ClickHouse/pull/85038) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigió un doble free en `AzureIteratorAsync`. [#85064](https://github.com/ClickHouse/ClickHouse/pull/85064) ([Nikita Taranov](https://github.com/nickitat)).
* Se mejora el mensaje de error al intentar crear un usuario identificado con JWT. [#85072](https://github.com/ClickHouse/ClickHouse/pull/85072) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrigió la limpieza de las partes de parche en `ReplicatedMergeTree`. Anteriormente, el resultado de una actualización ligera podía no ser visible temporalmente en la réplica hasta que se descargara desde otra réplica la parte fusionada o mutada que materializa las partes de parche. [#85121](https://github.com/ClickHouse/ClickHouse/pull/85121) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige illegal\_type\_of\_argument en mv cuando los tipos difieren. [#85135](https://github.com/ClickHouse/ClickHouse/pull/85135) ([Sema Checherinda](https://github.com/CheSema)).
* Se soluciona un fallo de segmentación en la implementación de delta-kernel. [#85160](https://github.com/ClickHouse/ClickHouse/pull/85160) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la recuperación de bases de datos Replicated cuando el traslado del archivo de metadatos tarda mucho tiempo. [#85177](https://github.com/ClickHouse/ClickHouse/pull/85177) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrigió `Not-ready Set` para `IN (subquery)` dentro de la configuración `additional_table_filters expression`. [#85210](https://github.com/ClickHouse/ClickHouse/pull/85210) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Elimina las llamadas innecesarias a `getStatus()` en las consultas SYSTEM DROP REPLICA. Corrige el caso en el que una tabla se elimina en segundo plano y se lanza la excepción `Shutdown for storage is called`. [#85220](https://github.com/ClickHouse/ClickHouse/pull/85220) ([Nikolay Degterinsky](https://github.com/evillique)).
* Soluciona una condición de carrera en la implementación delta-kernel del motor `DeltaLake`. [#85221](https://github.com/ClickHouse/ClickHouse/pull/85221) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la lectura de datos particionados con `delta-kernel` deshabilitado en el motor `DeltaLake`. Esto presentaba un fallo en la versión 25.7 ([https://github.com/ClickHouse/ClickHouse/pull/81136](https://github.com/ClickHouse/ClickHouse/pull/81136)). [#85223](https://github.com/ClickHouse/ClickHouse/pull/85223) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadieron las validaciones que faltaban para la longitud de los nombres de tabla en las consultas CREATE OR REPLACE y RENAME. [#85326](https://github.com/ClickHouse/ClickHouse/pull/85326) ([Michael Kolupaev](https://github.com/al13n321)).
* Corrige la creación de RMV en una nueva réplica de la base de datos Replicated si se elimina DEFINER. [#85327](https://github.com/ClickHouse/ClickHouse/pull/85327) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrige la escritura en Iceberg de tipos complejos. [#85330](https://github.com/ClickHouse/ClickHouse/pull/85330) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* No se admite la escritura de límites inferior y superior para tipos complejos. [#85332](https://github.com/ClickHouse/ClickHouse/pull/85332) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Corrige un error lógico al leer desde funciones de almacenamiento de objetos a través de una tabla Distributed o de la función de tabla remote. Corrige: [#84658](https://github.com/ClickHouse/ClickHouse/issues/84658), corrige [#85173](https://github.com/ClickHouse/ClickHouse/issues/85173), corrige [#52022](https://github.com/ClickHouse/ClickHouse/issues/52022). [#85359](https://github.com/ClickHouse/ClickHouse/pull/85359) ([alesapin](https://github.com/alesapin)).
* Corrige la copia de seguridad de partes con proyecciones defectuosas. [#85362](https://github.com/ClickHouse/ClickHouse/pull/85362) ([Antonio Andelic](https://github.com/antonio2368)).
* Prohibir el uso de la columna `_part_offset` en proyecciones en las versiones hasta que se estabilice. [#85372](https://github.com/ClickHouse/ClickHouse/pull/85372) ([Sema Checherinda](https://github.com/CheSema)).
* Se corrigen un fallo y la corrupción de datos durante `ALTER UPDATE` en JSON. [#85383](https://github.com/ClickHouse/ClickHouse/pull/85383) ([Pavel Kruglov](https://github.com/Avogar)).
* Las consultas con réplicas paralelas que usan la optimización de lectura inversa en orden pueden producir resultados incorrectos. [#85406](https://github.com/ClickHouse/ClickHouse/pull/85406) ([Igor Nikonov](https://github.com/devcrafter)).
* Corrige un posible UB (fallos) en caso de MEMORY\_LIMIT\_EXCEEDED durante la deserialización de String. [#85440](https://github.com/ClickHouse/ClickHouse/pull/85440) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen las métricas incorrectas KafkaAssignedPartitions y KafkaConsumersWithAssignment. [#85494](https://github.com/ClickHouse/ClickHouse/pull/85494) ([Ilya Golshtein](https://github.com/ilejn)).
* Se corrigió la subestimación de la estadística de bytes procesados cuando se utiliza PREWHERE (explícito o automático). [#85495](https://github.com/ClickHouse/ClickHouse/pull/85495) ([Michael Kolupaev](https://github.com/al13n321)).
* Corrige la condición de retorno anticipado para la ralentización de la tasa de solicitudes de S3: ahora basta con que `s3&#95;slow&#95;all&#95;threads&#95;after&#95;network&#95;error` o `backup&#95;slow&#95;all&#95;threads&#95;after&#95;retryable&#95;s3&#95;error` sea verdadero para activar la ralentización cuando todos los hilos están en pausa debido a un error de S3 reintentable, en lugar de exigir ambos. [#85505](https://github.com/ClickHouse/ClickHouse/pull/85505) ([Julia Kartseva](https://github.com/jkartseva)).
* Este PR corrige la resolución de metadatos al consultar tablas Iceberg a través de un catálogo REST. ... [#85531](https://github.com/ClickHouse/ClickHouse/pull/85531) ([Saurabh Kumar Ojha](https://github.com/saurabhojha)).
* Se corrigió un fallo poco frecuente en las inserciones asíncronas al cambiar la configuración `log_comment` o `insert_deduplication_token`. [#85540](https://github.com/ClickHouse/ClickHouse/pull/85540) ([Anton Popov](https://github.com/CurtizJ)).
* Se ignoraban parámetros como date\_time\_input\_format al usar HTTP con multipart/form-data. [#85570](https://github.com/ClickHouse/ClickHouse/pull/85570) ([Sema Checherinda](https://github.com/CheSema)).
* Se corrige el enmascaramiento de secretos en las funciones de tabla icebergS3Cluster e icebergAzureCluster. [#85658](https://github.com/ClickHouse/ClickHouse/pull/85658) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se corrige la pérdida de precisión en `JSONExtract` al convertir números JSON a tipos Decimal. Ahora, los valores numéricos de JSON conservan su representación decimal exacta, lo que evita errores de redondeo de coma flotante. [#85665](https://github.com/ClickHouse/ClickHouse/pull/85665) ([ssive7b](https://github.com/ssive7b)).
* Se corrigió `LOGICAL_ERROR` al usar `COMMENT COLUMN IF EXISTS` en la misma instrucción `ALTER` después de `DROP COLUMN`. La cláusula `IF EXISTS` ahora omite correctamente la operación `COMMENT` cuando la columna se ha eliminado dentro de la misma instrucción. [#85688](https://github.com/ClickHouse/ClickHouse/pull/85688) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Se corrigió la lectura del recuento desde la caché para Delta Lake. [#85704](https://github.com/ClickHouse/ClickHouse/pull/85704) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un fallo de segmentación en CoalescingMergeTree con cadenas grandes. Se cierra [#84582](https://github.com/ClickHouse/ClickHouse/issues/84582). [#85709](https://github.com/ClickHouse/ClickHouse/pull/85709) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se actualiza la marca de tiempo de los metadatos en las escrituras de Iceberg. [#85711](https://github.com/ClickHouse/ClickHouse/pull/85711) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Usar `distributed_depth` como indicador de \*la función Cluster era incorrecto y podía provocar duplicación de datos; use `client_info.collaborate_with_initiator` en su lugar. [#85734](https://github.com/ClickHouse/ClickHouse/pull/85734) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Spark no puede leer archivos de eliminación por posición. [#85762](https://github.com/ClickHouse/ClickHouse/pull/85762) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se corrige send\_logs\_source\_regexp (tras la refactorización del logging asíncrono en [#85105](https://github.com/ClickHouse/ClickHouse/issues/85105)). [#85797](https://github.com/ClickHouse/ClickHouse/pull/85797) ([Azat Khuzhin](https://github.com/azat)).
* Corrige una posible inconsistencia en los diccionarios con update\_field en errores MEMORY\_LIMIT\_EXCEEDED. [#85807](https://github.com/ClickHouse/ClickHouse/pull/85807) ([Azat Khuzhin](https://github.com/azat)).
* Se agregó compatibilidad con constantes globales de la sentencia `WITH` para `INSERT SELECT` distribuido en paralelo con la tabla de destino `Distributed`. Antes, la consulta podía generar un error `Unknown expression identifier`. [#85811](https://github.com/ClickHouse/ClickHouse/pull/85811) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se enmascaran las credenciales para `deltaLakeAzure`, `deltaLakeCluster`, `icebergS3Cluster` e `icebergAzureCluster`. [#85889](https://github.com/ClickHouse/ClickHouse/pull/85889) ([Julian Maicher](https://github.com/jmaicher)).
* Corrige un error lógico al intentar `CREATE ... AS (SELECT * FROM s3Cluster(...))` con `DatabaseReplicated`. [#85904](https://github.com/ClickHouse/ClickHouse/pull/85904) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige las solicitudes HTTP realizadas por la table function `url()` para que incluyan correctamente los números de puerto en el encabezado Host al acceder a puertos no estándar. Esto resuelve errores de autenticación al usar URL prefirmadas con servicios compatibles con S3, como MinIO, que se ejecutan en puertos personalizados, algo habitual en entornos de desarrollo. (Corrige [#85898](https://github.com/ClickHouse/ClickHouse/issues/85898)). [#85921](https://github.com/ClickHouse/ClickHouse/pull/85921) ([Tom Quist](https://github.com/tomquist)).
* Ahora, Unity catalog ignorará los esquemas con tipos de datos inusuales en las tablas no delta. Corrige [#85699](https://github.com/ClickHouse/ClickHouse/issues/85699). [#85950](https://github.com/ClickHouse/ClickHouse/pull/85950) ([alesapin](https://github.com/alesapin)).
* Corrige la admisión de valores NULL en los campos de Iceberg. [#85977](https://github.com/ClickHouse/ClickHouse/pull/85977) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se corrigió un error en la recuperación de la base de datos `Replicated`: si el nombre de una tabla contenía el símbolo `%`, podía volver a crearse con un nombre distinto durante la recuperación. [#85987](https://github.com/ClickHouse/ClickHouse/pull/85987) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige los fallos en la restauración de copias de seguridad debidos al error `BACKUP_ENTRY_NOT_FOUND` al restaurar una tabla `Memory` vacía. [#86012](https://github.com/ClickHouse/ClickHouse/pull/86012) ([Julia Kartseva](https://github.com/jkartseva)).
* Se agregan comprobaciones para sharding\_key durante ALTER de la tabla Distributed. Anteriormente, un ALTER incorrecto podía dañar la definición de la tabla e impedir el reinicio del servidor. [#86015](https://github.com/ClickHouse/ClickHouse/pull/86015) ([Nikolay Degterinsky](https://github.com/evillique)).
* Evita crear un archivo de eliminación de Iceberg vacío. [#86061](https://github.com/ClickHouse/ClickHouse/pull/86061) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se corrigieron valores de configuración elevados que provocaban fallos en las tablas S3Queue y en el reinicio de réplicas. [#86074](https://github.com/ClickHouse/ClickHouse/pull/86074) ([Nikolay Degterinsky](https://github.com/evillique)).

#### mejora de compilación/pruebas/empaquetado

* Usar discos cifrados para las pruebas con S3 de forma predeterminada. [#59898](https://github.com/ClickHouse/ClickHouse/pull/59898) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Usar el binario `clickhouse` en las pruebas de integración para obtener símbolos de depuración sin eliminar. [#83779](https://github.com/ClickHouse/ClickHouse/pull/83779) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se actualizó libxml2 interna de 2.14.4 a 2.14.5. [#84230](https://github.com/ClickHouse/ClickHouse/pull/84230) ([Robert Schulze](https://github.com/rschu1ze)).
* Se actualizó curl interno de 8.14.0 a 8.15.0. [#84231](https://github.com/ClickHouse/ClickHouse/pull/84231) ([Robert Schulze](https://github.com/rschu1ze)).
* Ahora usamos menos memoria para las cachés en CI y tenemos mejores pruebas de expulsión. [#84676](https://github.com/ClickHouse/ClickHouse/pull/84676) ([alesapin](https://github.com/alesapin)).

<div id="257">
  ### Lanzamiento de ClickHouse 25.7, 2025-07-24
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Cambios en la función `extractKeyValuePairs`: se introduce un nuevo argumento, `unexpected_quoting_character_strategy`, que controla qué ocurre cuando se encuentra inesperadamente un `quoting_character` al leer una clave o un valor sin comillas. El valor puede ser uno de los siguientes: `invalid`, `accept` o `promote`. `invalid` descartará la clave y volverá al estado de espera de clave. `accept` lo tratará como parte de la clave. `promote` descartará el carácter anterior y comenzará a analizarlo como una clave entre comillas. Además, después de analizar un valor entre comillas, solo se analizará la siguiente clave si se encuentra un delimitador de par. [#80657](https://github.com/ClickHouse/ClickHouse/pull/80657) ([Arthur Passos](https://github.com/arthurpassos)).
* Se admite una coincidencia de cero bytes en la función `countMatches`. Los usuarios que deseen mantener el comportamiento anterior pueden habilitar la configuración `count_matches_stop_at_empty_match`. [#81676](https://github.com/ClickHouse/ClickHouse/pull/81676) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se usan limitadores de todo el servidor para operaciones locales (`max_local_read_bandwidth_for_server` y `max_local_write_bandwidth_for_server`) y remotas (`max_remote_read_network_bandwidth_for_server` y `max_remote_write_network_bandwidth_for_server`) al generar BACKUPs, además de sus configuraciones específicas del servidor (`max_backup_bandwidth_for_server`, `max_mutations_bandwidth_for_server` y `max_merges_bandwidth_for_server`). [#81753](https://github.com/ClickHouse/ClickHouse/pull/81753) ([Sergei Trifonov](https://github.com/serxa)).
* Se prohíbe la creación de una tabla sin columnas insertables. [#81835](https://github.com/ClickHouse/ClickHouse/pull/81835) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se paralelizan las funciones de clúster por archivos dentro de archivos comprimidos. En versiones anteriores, el archivo comprimido completo (como zip, tar o 7z) era una unidad de trabajo. Se añadió una nueva configuración, `cluster_function_process_archive_on_multiple_nodes`, cuyo valor predeterminado es `true`. Si se establece en `true`, aumenta el rendimiento del procesamiento de archivos comprimidos en las funciones de clúster. Debe establecerse en `false` por compatibilidad y para evitar errores durante la actualización a 25.7+ si se usan funciones de clúster con archivos comprimidos en versiones anteriores. [#82355](https://github.com/ClickHouse/ClickHouse/pull/82355) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La consulta `SYSTEM RESTART REPLICAS` provocaba la activación de tablas en la base de datos Lazy, incluso sin acceso a esa base de datos, y esto ocurría mientras esas tablas se eliminaban de forma concurrente. Nota: ahora `SYSTEM RESTART REPLICAS` solo reiniciará réplicas en las bases de datos donde tenga permiso para `SHOW TABLES`, lo cual es lo esperable. [#83321](https://github.com/ClickHouse/ClickHouse/pull/83321) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

#### nueva funcionalidad

* Se añadió compatibilidad con actualizaciones ligeras para tablas de la familia `MergeTree`. Las actualizaciones ligeras pueden utilizarse con una nueva sintaxis: `UPDATE <table> SET col1 = val1, col2 = val2, ... WHERE <condition>`. Se añadió la implementación de eliminaciones ligeras mediante actualizaciones ligeras. Puede habilitarse estableciendo `lightweight_delete_mode = 'lightweight_update'`. [#82004](https://github.com/ClickHouse/ClickHouse/pull/82004) ([Anton Popov](https://github.com/CurtizJ)).
* Soporte para tipos complejos en la evolución del esquema de Iceberg. [#73714](https://github.com/ClickHouse/ClickHouse/pull/73714) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se añade compatibilidad con INSERTs en tablas Iceberg. [#82692](https://github.com/ClickHouse/ClickHouse/pull/82692) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Lee archivos de datos de Iceberg por ID de campo. Esto mejora la compatibilidad con Iceberg: los campos pueden cambiar de nombre en los metadatos y seguir asignándose a nombres distintos en los archivos Parquet subyacentes. Esto cierra [#83065](https://github.com/ClickHouse/ClickHouse/issues/83065). [#83653](https://github.com/ClickHouse/ClickHouse/pull/83653) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Ahora ClickHouse admite archivos `metadata.json` comprimidos para Iceberg. Corrige [#70874](https://github.com/ClickHouse/ClickHouse/issues/70874). [#81451](https://github.com/ClickHouse/ClickHouse/pull/81451) ([alesapin](https://github.com/alesapin)).
* Compatibilidad con `TimestampTZ` en el catálogo de Glue. Esto cierra [#81654](https://github.com/ClickHouse/ClickHouse/issues/81654). [#83132](https://github.com/ClickHouse/ClickHouse/pull/83132) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Agrega generación de SQL con IA al cliente de ClickHouse. Ahora puedes generar consultas SQL a partir de descripciones en lenguaje natural anteponiendo `??` a la consulta. Compatible con los proveedores OpenAI y Anthropic, con detección automática del esquema. [#83314](https://github.com/ClickHouse/ClickHouse/pull/83314) ([Kaushik Iska](https://github.com/iskakaushik)).
* Se añade una función para escribir tipos Geo en formato WKB. [#82935](https://github.com/ClickHouse/ClickHouse/pull/82935) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se introdujeron dos nuevos tipos de acceso, `READ` y `WRITE`, para Sources, y quedan obsoletos todos los tipos de acceso anteriores relacionados con Sources. Antes: `GRANT S3 ON *.* TO user`; ahora: `GRANT READ, WRITE ON S3 TO user`. Esto también permite separar los permisos `READ` y `WRITE` para Sources, por ejemplo: `GRANT READ ON * TO user`, `GRANT WRITE ON S3 TO user`. La funcionalidad se controla mediante la configuración `access_control_improvements.enable_read_write_grants` y está deshabilitada de forma predeterminada. [#73659](https://github.com/ClickHouse/ClickHouse/pull/73659) ([pufit](https://github.com/pufit)).
* NumericIndexedVector: nueva estructura de datos vectorial respaldada por compresión bit-sliced y bitmap Roaring, junto con más de 20 funciones para crear, analizar y realizar aritmética punto a punto. Puede reducir el almacenamiento y acelerar los JOIN, filtros y agregaciones en datos dispersos. Implementa [#70582](https://github.com/ClickHouse/ClickHouse/issues/70582) y el [artículo “Large-Scale Metric Computation in Online Controlled Experiment Platform”](https://arxiv.org/abs/2405.08411) de T. Xiong e Y. Wang de VLDB 2024. [#74193](https://github.com/ClickHouse/ClickHouse/pull/74193) ([FriendLey](https://github.com/FriendLey)).
* Ahora se admite el ajuste de carga de trabajo `max_waiting_queries`. Puede utilizarse para limitar el tamaño de la cola de consultas. Si se alcanza el límite, todas las consultas posteriores se cancelarán con el error `SERVER_OVERLOADED`. [#81250](https://github.com/ClickHouse/ClickHouse/pull/81250) ([Oleg Doronin](https://github.com/dorooleg)).
* Se añaden funciones financieras: `financialInternalRateOfReturnExtended` (`XIRR`), `financialInternalRateOfReturn` (`IRR`), `financialNetPresentValueExtended` (`XNPV`), `financialNetPresentValue` (`NPV`). [#81599](https://github.com/ClickHouse/ClickHouse/pull/81599) ([Joanna Hulboj](https://github.com/jh0x)).
* Se añaden las funciones geoespaciales `polygonsIntersectCartesian` y `polygonsIntersectSpherical` para comprobar si dos polígonos se intersecan. [#81882](https://github.com/ClickHouse/ClickHouse/pull/81882) ([Paul Lamb](https://github.com/plamb)).
* Se admite la columna virtual `_part_granule_offset` en las tablas de la familia MergeTree. Esta columna indica el índice, con base cero, del gránulo o marca al que pertenece cada fila dentro de su data part. Esto resuelve [#79572](https://github.com/ClickHouse/ClickHouse/issues/79572). [#82341](https://github.com/ClickHouse/ClickHouse/pull/82341) ([Amos Bird](https://github.com/amosbird)). [#82341](https://github.com/ClickHouse/ClickHouse/pull/82341) ([Amos Bird](https://github.com/amosbird))
* Se agregaron las funciones SQL `colorSRGBToOkLCH` y `colorOkLCHToSRGB` para convertir colores entre los espacios de color sRGB y OkLCH. [#83679](https://github.com/ClickHouse/ClickHouse/pull/83679) ([Fgrtue](https://github.com/Fgrtue)).
* Se permiten parámetros en las consultas `CREATE USER` para los nombres de usuario. [#81387](https://github.com/ClickHouse/ClickHouse/pull/81387) ([Diskein](https://github.com/Diskein)).
* La tabla `system.formats` ahora contiene información ampliada sobre los formatos, como el tipo de contenido HTTP, las capacidades de inferencia de esquemas, etc. [#81505](https://github.com/ClickHouse/ClickHouse/pull/81505) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se añadieron las funciones `searchAny` y `searchAll`, que son herramientas de uso general para buscar en índices de texto. [#80641](https://github.com/ClickHouse/ClickHouse/pull/80641) ([Elmi Ahmadov](https://github.com/ahmadov)).
* El índice de texto ahora admite el nuevo tokenizador `split`. [#81752](https://github.com/ClickHouse/ClickHouse/pull/81752) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se cambió el valor predeterminado de la granularidad de índice para los índices `text` a 64. Esto mejora el rendimiento esperado de la consulta de prueba promedio en benchmarks internos. [#82162](https://github.com/ClickHouse/ClickHouse/pull/82162) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* El bitmap de 256 bits almacena las etiquetas salientes de un estado de forma ordenada, pero los estados salientes se guardan en disco en el orden en que aparecen en la tabla hash. Por lo tanto, una etiqueta podía apuntar a un siguiente estado incorrecto al leer desde disco. [#82783](https://github.com/ClickHouse/ClickHouse/pull/82783) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Se habilitó la compresión zstd para el blob del árbol FST en índices de texto. [#83093](https://github.com/ClickHouse/ClickHouse/pull/83093) ([Elmi Ahmadov](https://github.com/ahmadov)).
* El índice de similitud vectorial pasó a beta. Se introdujo la opción alias `enable_vector_similarity_index`, que debe estar habilitada para usar el índice de similitud vectorial. [#83459](https://github.com/ClickHouse/ClickHouse/pull/83459) ([Robert Schulze](https://github.com/rschu1ze)).
* Se eliminó la lógica experimental de `send_metadata` relacionada con la replicación experimental zero-copy. Nunca se usó y nadie da soporte a este código. Como ni siquiera había pruebas relacionadas, es muy probable que lleve mucho tiempo roto. [#82508](https://github.com/ClickHouse/ClickHouse/pull/82508) ([alesapin](https://github.com/alesapin)).
* Se integró `StorageKafka2` en `system.kafka_consumers`. [#82652](https://github.com/ClickHouse/ClickHouse/pull/82652) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se añadieron estimaciones mediante estadísticas para CNF/DNF complejas; por ejemplo, `(a < 1 and a > 0) or b = 3`. [#82663](https://github.com/ClickHouse/ClickHouse/pull/82663) ([Han Fei](https://github.com/hanfei1991)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Se introduce el logging asíncrono. Cuando los logs se escriben en un dispositivo lento, ya no se retrasan las consultas. [#82516](https://github.com/ClickHouse/ClickHouse/pull/82516) ([Raúl Marín](https://github.com/Algunenano)). Se limita el número máximo de elementos retenidos en la cola. [#83214](https://github.com/ClickHouse/ClickHouse/pull/83214) ([Raúl Marín](https://github.com/Algunenano)).
* El INSERT SELECT Distributed en paralelo está habilitado de forma predeterminada en el modo en que INSERT SELECT se ejecuta en cada segmento de forma independiente; consulte la configuración `parallel_distributed_insert_select`. [#83040](https://github.com/ClickHouse/ClickHouse/pull/83040) ([Igor Nikonov](https://github.com/devcrafter)).
* Cuando la consulta de agregación contiene solo una función `count()` sobre una columna no `Nullable`, la lógica de agregación queda totalmente integrada al sondear la tabla hash. Esto evita asignar y mantener estado de agregación, lo que reduce significativamente el uso de memoria y la sobrecarga de CPU. Esto aborda parcialmente [#81982](https://github.com/ClickHouse/ClickHouse/issues/81982). [#82104](https://github.com/ClickHouse/ClickHouse/pull/82104) ([Amos Bird](https://github.com/amosbird)).
* Se optimizó el rendimiento de `HashJoin` al eliminar el bucle adicional sobre las tablas hash en el caso habitual de una sola columna de clave; además, se eliminaron las comprobaciones de `null_map` y `join_mask` cuando siempre son `true`/`false`. [#82308](https://github.com/ClickHouse/ClickHouse/pull/82308) ([Nikita Taranov](https://github.com/nickitat)).
* Optimización menor para el combinador `-If`. [#78454](https://github.com/ClickHouse/ClickHouse/pull/78454) ([李扬](https://github.com/taiyang-li)).
* Las consultas de búsqueda vectorial que utilizan un índice de similitud vectorial se completan con menor latencia gracias a la reducción de las lecturas de almacenamiento y al menor uso de CPU. [#79103](https://github.com/ClickHouse/ClickHouse/pull/79103) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se tiene en cuenta `merge_tree_min_{rows,bytes}_for_seek` en `filterPartsByQueryConditionCache` para alinearlo con otros métodos que filtran por índices. [#80312](https://github.com/ClickHouse/ClickHouse/pull/80312) ([李扬](https://github.com/taiyang-li)).
* Convertir en multihilo la pipeline posterior al paso `TOTALS`. [#80331](https://github.com/ClickHouse/ClickHouse/pull/80331) ([UnamedRus](https://github.com/UnamedRus)).
* Se corrigió el filtro por clave en los almacenamientos `Redis` y `KeeperMap`. [#81833](https://github.com/ClickHouse/ClickHouse/pull/81833) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se añade la nueva configuración `min_joined_block_size_rows` (análoga a `min_joined_block_size_bytes`; valor predeterminado: 65409) para controlar el tamaño mínimo de los bloques (en filas) de entrada y salida de JOIN (si el algoritmo de JOIN lo admite). Los bloques pequeños se combinarán. [#81886](https://github.com/ClickHouse/ClickHouse/pull/81886) ([Nikita Taranov](https://github.com/nickitat)).
* `ATTACH PARTITION` ya no provoca la eliminación de todas las memorias caché. [#82377](https://github.com/ClickHouse/ClickHouse/pull/82377) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Optimiza el plan generado para las subconsultas correlacionadas eliminando operaciones JOIN redundantes mediante el uso de clases de equivalencia. Si hay expresiones equivalentes para todas las columnas correlacionadas, no se genera `CROSS JOIN` si la opción `query_plan_correlated_subqueries_use_substitution` está habilitada. [#82435](https://github.com/ClickHouse/ClickHouse/pull/82435) ([Dmitry Novik](https://github.com/novikd)).
* Leer solo las columnas necesarias en una subconsulta correlacionada cuando aparece como argumento de la función `EXISTS`. [#82443](https://github.com/ClickHouse/ClickHouse/pull/82443) ([Dmitry Novik](https://github.com/novikd)).
* Se aceleró ligeramente la comparación de árboles de consultas durante el análisis de consultas. [#82617](https://github.com/ClickHouse/ClickHouse/pull/82617) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Agregar alineación al Counter de ProfileEvents para reducir el false sharing. [#82697](https://github.com/ClickHouse/ClickHouse/pull/82697) ([Jiebin Sun](https://github.com/jiebinn)).
* Las optimizaciones para `null_map` y `JoinMask` de [#82308](https://github.com/ClickHouse/ClickHouse/issues/82308) también se aplicaron al caso de JOIN con múltiples disyunciones. Además, se optimizó la estructura de datos `KnownRowsHolder`. [#83041](https://github.com/ClickHouse/ClickHouse/pull/83041) ([Nikita Taranov](https://github.com/nickitat)).
* Se utiliza un `std::vector<std::atomic_bool>` simple para las banderas de join y así evitar calcular un hash en cada acceso a ellas. [#83043](https://github.com/ClickHouse/ClickHouse/pull/83043) ([Nikita Taranov](https://github.com/nickitat)).
* No preasigne memoria por adelantado para las columnas de resultados cuando `HashJoin` usa el modo de salida `lazy`. Esto no es óptimo, especialmente cuando el número de coincidencias es bajo. Además, conocemos la cantidad exacta de coincidencias una vez finalizado el join, por lo que podemos preasignar con mayor precisión. [#83304](https://github.com/ClickHouse/ClickHouse/pull/83304) ([Nikita Taranov](https://github.com/nickitat)).
* Se minimiza la copia de memoria en las cabeceras de los puertos durante la construcción del pipeline. [PR](https://github.com/ClickHouse/ClickHouse/pull/70105) original de [heymind](https://github.com/heymind). [#83381](https://github.com/ClickHouse/ClickHouse/pull/83381) ([Raúl Marín](https://github.com/Algunenano)).
* Se mejora el arranque de clickhouse-keeper cuando utiliza almacenamiento rocksdb. [#83390](https://github.com/ClickHouse/ClickHouse/pull/83390) ([Antonio Andelic](https://github.com/antonio2368)).
* Evita mantener el bloqueo mientras se crean los datos de la instantánea de almacenamiento, para reducir la contención de bloqueos con cargas concurrentes elevadas. [#83510](https://github.com/ClickHouse/ClickHouse/pull/83510) ([Duc Canh Le](https://github.com/canhld94)).
* Se mejoró el rendimiento del formato de entrada `ProtobufSingle` al reutilizar el serializador cuando no se producen errores de análisis. [#83613](https://github.com/ClickHouse/ClickHouse/pull/83613) ([Eduard Karacharov](https://github.com/korowa)).
* Se mejora el rendimiento de la construcción de pipelines, lo que acelera las consultas cortas. [#83631](https://github.com/ClickHouse/ClickHouse/pull/83631) ([Raúl Marín](https://github.com/Algunenano)).
* Se optimiza `MergeTreeReadersChain::getSampleBlock`, lo que acelera las consultas cortas. [#83875](https://github.com/ClickHouse/ClickHouse/pull/83875) ([Raúl Marín](https://github.com/Algunenano)).
* Se acelera el listado de tablas en catálogos de datos mediante solicitudes asíncronas. [#81084](https://github.com/ClickHouse/ClickHouse/pull/81084) ([alesapin](https://github.com/alesapin)).
* Añadir jitter al mecanismo de reintento de S3 cuando la configuración `s3_slow_all_threads_after_network_error` está habilitada. [#81849](https://github.com/ClickHouse/ClickHouse/pull/81849) ([zoomxi](https://github.com/zoomxi)).

<div id="improvement">
  #### Mejora
</div>

* Colorea los paréntesis de distintos colores para mejorar la legibilidad. [#82538](https://github.com/ClickHouse/ClickHouse/pull/82538) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se resaltan los metacaracteres en los patrones LIKE/REGEXP a medida que se escribe. Ya lo teníamos en `clickhouse-format` y en el eco de `clickhouse-client`, pero ahora también se hace en el prompt de comandos. [#82871](https://github.com/ClickHouse/ClickHouse/pull/82871) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El resaltado en `clickhouse-format` y en el eco del cliente funcionará de la misma manera que el resaltado en el prompt de la línea de comandos. [#82874](https://github.com/ClickHouse/ClickHouse/pull/82874) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ahora se permiten los discos `plain_rewritable` para los metadatos de la base de datos. Implemente los métodos `moveFile` y `replaceFile` en `plain_rewritable` para que pueda usarse como disco de base de datos. [#79424](https://github.com/ClickHouse/ClickHouse/pull/79424) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se permiten copias de seguridad de las bases de datos `PostgreSQL`, `MySQL` y `DataLake`. Una copia de seguridad de una base de datos de este tipo solo guardaría la definición, no los datos que contiene. [#79982](https://github.com/ClickHouse/ClickHouse/pull/79982) ([Nikolay Degterinsky](https://github.com/evillique)).
* La configuración `allow_experimental_join_condition` se marcó como obsoleta, ya que ahora siempre se permite. [#80566](https://github.com/ClickHouse/ClickHouse/pull/80566) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se agregan métricas de presión a las métricas asíncronas de ClickHouse. [#80779](https://github.com/ClickHouse/ClickHouse/pull/80779) ([Xander Garbett](https://github.com/Garbett1)).
* Se añadieron las métricas `MarkCacheEvictedBytes`, `MarkCacheEvictedMarks`, `MarkCacheEvictedFiles` para hacer un seguimiento de las expulsiones de la caché de marcas. (issue [#60989](https://github.com/ClickHouse/ClickHouse/issues/60989)). [#80799](https://github.com/ClickHouse/ClickHouse/pull/80799) ([Shivji Kumar Jha](https://github.com/shiv4289)).
* Se admite escribir `enum` de Parquet como un array de bytes, tal como dicta la [especificación](https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#enum). [#81090](https://github.com/ClickHouse/ClickHouse/pull/81090) ([Arthur Passos](https://github.com/arthurpassos)).
* Una mejora para el motor de tabla `DeltaLake`: delta-kernel-rs tiene una API `ExpressionVisitor` que se implementa en este PR y se aplica a la transformación de expresiones en columnas de partición (reemplazará el método antiguo y obsoleto de delta-kernel-rs que usábamos antes en nuestro código). En el futuro, este `ExpressionVisitor` también permitirá implementar pruning basado en estadísticas y algunas funcionalidades propietarias de Delta Lake. Además, este cambio tiene como objetivo admitir el partition pruning en el motor de tabla `DeltaLakeCluster` (el resultado de una expresión analizada, ActionsDAG, se serializará y se enviará desde el iniciador junto con la ruta de los datos, porque este tipo de información, necesaria para el pruning, solo está disponible como metainformación en el listado de archivos de datos, que únicamente realiza el iniciador, pero debe aplicarse a los datos en cada server de lectura). [#81136](https://github.com/ClickHouse/ClickHouse/pull/81136) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Conservar los nombres de los elementos al derivar supertipos para las tuplas con nombre. [#81345](https://github.com/ClickHouse/ClickHouse/pull/81345) ([lgbo](https://github.com/lgbo-ustc)).
* Contar manualmente los mensajes consumidos para evitar depender del offset previamente confirmado en StorageKafka2. [#81662](https://github.com/ClickHouse/ClickHouse/pull/81662) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se añadió `clickhouse-keeper-utils`, una nueva herramienta de línea de comandos para gestionar y analizar datos de ClickHouse Keeper. La herramienta permite volcar el estado a partir de snapshots y changelogs, analizar archivos de changelog y extraer rangos específicos de logs. [#81677](https://github.com/ClickHouse/ClickHouse/pull/81677) ([Antonio Andelic](https://github.com/antonio2368)).
* Los limitadores de ancho de banda de red, tanto globales como por usuario, nunca se restablecen, lo que garantiza que nunca se superen los límites de `max_network_bandwidth_for_all_users` y `max_network_bandwidth_for_all_users`. [#81729](https://github.com/ClickHouse/ClickHouse/pull/81729) ([Sergei Trifonov](https://github.com/serxa)).
* Se admite la escritura de archivos GeoParquet como formato de salida. [#81784](https://github.com/ClickHouse/ClickHouse/pull/81784) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Se prohíbe iniciar la mutación alter `RENAME COLUMN` si va a renombrar alguna columna que actualmente esté afectada por una mutación de datos incompleta. [#81823](https://github.com/ClickHouse/ClickHouse/pull/81823) ([Mikhail Artemenko](https://github.com/Michicosun)).
* La cabecera Connection se envía al final de las cabeceras cuando se sabe que la conexión debe mantenerse. [#81951](https://github.com/ClickHouse/ClickHouse/pull/81951) ([Sema Checherinda](https://github.com/CheSema)).
* Ajuste la cola de los servidores TCP (64 de forma predeterminada) según listen\_backlog (4096 de forma predeterminada). [#82045](https://github.com/ClickHouse/ClickHouse/pull/82045) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió la capacidad de recargar `max_local_read_bandwidth_for_server` y `max_local_write_bandwidth_for_server` en caliente, sin reiniciar el servidor. [#82083](https://github.com/ClickHouse/ClickHouse/pull/82083) ([Kai Zhu](https://github.com/nauu)).
* Se agregó compatibilidad para borrar todas las advertencias de la tabla `system.warnings` mediante `TRUNCATE TABLE system.warnings`. [#82087](https://github.com/ClickHouse/ClickHouse/pull/82087) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió la poda de particiones en las funciones de clúster de lago de datos. [#82131](https://github.com/ClickHouse/ClickHouse/pull/82131) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la lectura de datos particionados en la función de tabla DeltaLakeCluster. En este PR se incrementa la versión del protocolo de las funciones de clúster, lo que permite enviar información adicional desde el iniciador a las réplicas. Esta información adicional contiene la expresión de transformación de delta-kernel, necesaria para interpretar las columnas de partición (y otros elementos en el futuro, como las columnas generadas, etc.). [#82132](https://github.com/ClickHouse/ClickHouse/pull/82132) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La función `reinterpret` ahora admite la conversión a `Array(T)`, donde `T` es un tipo de datos de tamaño fijo (incidencia [#82621](https://github.com/ClickHouse/ClickHouse/issues/82621)). [#83399](https://github.com/ClickHouse/ClickHouse/pull/83399) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Ahora la base de datos Datalake lanza una excepción más adecuada. Corrige [#81211](https://github.com/ClickHouse/ClickHouse/issues/81211). [#82304](https://github.com/ClickHouse/ClickHouse/pull/82304) ([alesapin](https://github.com/alesapin)).
* Mejora de CROSS JOIN al hacer que `HashJoin::needUsedFlagsForPerRightTableRow` devuelva false. [#82379](https://github.com/ClickHouse/ClickHouse/pull/82379) ([lgbo](https://github.com/lgbo-ustc)).
* Permite escribir/leer columnas map como Array de Tuples. [#82408](https://github.com/ClickHouse/ClickHouse/pull/82408) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Enumera las licencias de los paquetes crate de [Rust](https://clickhouse.com/blog/rust) en `system.licenses`. [#82440](https://github.com/ClickHouse/ClickHouse/pull/82440) ([Raúl Marín](https://github.com/Algunenano)).
* Ahora se pueden usar macros como `{uuid}` en la opción `keeper_path` del motor de tabla S3Queue. [#82463](https://github.com/ClickHouse/ClickHouse/pull/82463) ([Nikolay Degterinsky](https://github.com/evillique)).
* Mejora de Keeper: mover archivos de changelog entre discos en un hilo en segundo plano. Anteriormente, mover el changelog a un disco diferente bloqueaba Keeper por completo hasta que finalizara el traslado. Esto provocaba una degradación del rendimiento si el traslado era una operación larga (p. ej., a un disco S3). [#82485](https://github.com/ClickHouse/ClickHouse/pull/82485) ([Antonio Andelic](https://github.com/antonio2368)).
* Mejora de Keeper: se añadió la nueva configuración `keeper_server.cleanup_old_and_ignore_new_acl`. Si está habilitada, se eliminarán las ACL de todos los nodos, mientras que se ignorarán las ACL de las nuevas solicitudes. Si el objetivo es eliminar por completo las ACL de los nodos, es importante mantener esta configuración habilitada hasta que se cree un nuevo snapshot. [#82496](https://github.com/ClickHouse/ClickHouse/pull/82496) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añadió una nueva configuración del servidor, `s3queue_disable_streaming`, que deshabilita el streaming en las tablas con el motor de tabla S3Queue. Esta configuración puede modificarse sin reiniciar el servidor. [#82515](https://github.com/ClickHouse/ClickHouse/pull/82515) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se refactorizó la función de redimensionamiento dinámico de la caché del sistema de archivos. Se añadieron más registros para la introspección. [#82556](https://github.com/ClickHouse/ClickHouse/pull/82556) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `clickhouse-server` sin un archivo de configuración también escuchará en el puerto 9005 de PostgreSQL, como con la configuración predeterminada. [#82633](https://github.com/ClickHouse/ClickHouse/pull/82633) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* En `ReplicatedMergeTree::executeMetadataAlter`, obtenemos el StorageID y, sin adquirir DDLGuard, intentamos llamar a `IDatabase::alterTable`. En ese intervalo, técnicamente podríamos haber intercambiado la tabla en cuestión por otra, por lo que, al obtener la definición, podríamos obtener la incorrecta. Para evitarlo, añadimos una comprobación independiente para verificar que los UUID coincidan al intentar llamar a `IDatabase::alterTable`. [#82666](https://github.com/ClickHouse/ClickHouse/pull/82666) ([Nikolay Degterinsky](https://github.com/evillique)).
* Al adjuntar una base de datos con un disco remoto de solo lectura, añada manualmente los UUID de las tablas en DatabaseCatalog. [#82670](https://github.com/ClickHouse/ClickHouse/pull/82670) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se impide que el usuario use `nan` e `inf` con `NumericIndexedVector`. Corrige [#82239](https://github.com/ClickHouse/ClickHouse/issues/82239) y algo más. [#82681](https://github.com/ClickHouse/ClickHouse/pull/82681) ([Raufs Dunamalijevs](https://github.com/rienath)).
* No omita los valores cero en los formatos de las cabeceras `X-ClickHouse-Progress` y `X-ClickHouse-Summary`. [#82727](https://github.com/ClickHouse/ClickHouse/pull/82727) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Mejora de Keeper: admite permissions específicos para la ACL world:anyone. [#82755](https://github.com/ClickHouse/ClickHouse/pull/82755) ([Antonio Andelic](https://github.com/antonio2368)).
* No permitir `RENAME COLUMN` ni `DROP COLUMN` en columnas enumeradas explícitamente para sumar en SummingMergeTree. Cierra [#81836](https://github.com/ClickHouse/ClickHouse/issues/81836). [#82821](https://github.com/ClickHouse/ClickHouse/pull/82821) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se mejora la precisión de la conversión de `Decimal` a `Float32`. Se implementa la conversión de `Decimal` a `BFloat16`. Cierra [#82660](https://github.com/ClickHouse/ClickHouse/issues/82660). [#82823](https://github.com/ClickHouse/ClickHouse/pull/82823) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las barras de desplazamiento de la interfaz web se verán un poco mejor. [#82869](https://github.com/ClickHouse/ClickHouse/pull/82869) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-server` con configuración integrada permitirá usar la Web UI al devolver una respuesta HTTP OPTIONS. [#82870](https://github.com/ClickHouse/ClickHouse/pull/82870) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió soporte para especificar ACL adicionales de Keeper para rutas en la configuración. Si desea añadir ACL adicionales para una ruta específica, defínalas en la configuración, en `zookeeper.path_acls`. [#82898](https://github.com/ClickHouse/ClickHouse/pull/82898) ([Antonio Andelic](https://github.com/antonio2368)).
* Ahora, la instantánea de mutaciones se generará a partir de la instantánea de las partes visibles. Además, los contadores de mutaciones utilizados en la instantánea se recalcularán a partir de las mutaciones incluidas. [#82945](https://github.com/ClickHouse/ClickHouse/pull/82945) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se añade un ProfileEvent cuando Keeper rechaza una escritura debido al límite de memoria flexible. [#82963](https://github.com/ClickHouse/ClickHouse/pull/82963) ([Xander Garbett](https://github.com/Garbett1)).
* Se añaden las columnas `commit_time` y `commit_id` a `system.s3queue_log`. [#83016](https://github.com/ClickHouse/ClickHouse/pull/83016) ([Kseniia Sumarokova](https://github.com/kssenii)).
* En algunos casos, necesitamos varias dimensiones para nuestras métricas. Por ejemplo, contabilizar los merges fallidos o las mutaciones fallidas por código de error, en lugar de tener un único contador. Se introduce `system.dimensional_metrics`, que hace exactamente eso y añade la primera métrica dimensional, llamada `failed_merges`. [#83030](https://github.com/ClickHouse/ClickHouse/pull/83030) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Consolidar las advertencias sobre configuraciones desconocidas en clickhouse client y registrarlas de forma resumida. [#83042](https://github.com/ClickHouse/ClickHouse/pull/83042) ([Bharat Nallan](https://github.com/bharatnc)).
* El cliente de ClickHouse ahora indica el puerto local cuando se produce un error de conexión. [#83050](https://github.com/ClickHouse/ClickHouse/pull/83050) ([Jianfei Hu](https://github.com/incfly)).
* Se ha mejorado ligeramente el manejo de errores en `AsynchronousMetrics`. Si el directorio `/sys/block` existe pero no es accesible, el servidor se iniciará sin supervisar los dispositivos de bloque. Cierra [#79229](https://github.com/ClickHouse/ClickHouse/issues/79229). [#83115](https://github.com/ClickHouse/ClickHouse/pull/83115) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Apagar SystemLogs después de las tablas ordinarias (y antes de las system tables, en lugar de antes de las ordinarias). [#83134](https://github.com/ClickHouse/ClickHouse/pull/83134) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadieron logs para el proceso de apagado de `S3Queue`. [#83163](https://github.com/ClickHouse/ClickHouse/pull/83163) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Posibilidad de interpretar `Time` y `Time64` en formato `MM:SS`, `M:SS`, `SS` o `S`. [#83299](https://github.com/ClickHouse/ClickHouse/pull/83299) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Cuando `distributed_ddl_output_mode='*_only_active'`, no se espere a nuevas réplicas ni a réplicas recuperadas que tengan un retraso de replicación superior a `max_replication_lag_to_enqueue`. Esto debería ayudar a evitar `DDL task is not finished on some hosts` cuando una nueva réplica pasa a estar activa después de completar la inicialización o la recuperación, pero ha acumulado un gran volumen de log de replicación durante la inicialización. Además, se implementa la consulta `SYSTEM SYNC DATABASE REPLICA STRICT`, que espera a que el log de replicación quede por debajo de `max_replication_lag_to_enqueue`. [#83302](https://github.com/ClickHouse/ClickHouse/pull/83302) ([Alexander Tokmakov](https://github.com/tavplubix)).
* No incluir descripciones demasiado largas de las acciones de expresión en los mensajes de excepción. Cierra [#83164](https://github.com/ClickHouse/ClickHouse/issues/83164). [#83350](https://github.com/ClickHouse/ClickHouse/pull/83350) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la capacidad de analizar el prefijo y el sufijo de una parte, así como de comprobar la cobertura de las columnas no constantes. [#83377](https://github.com/ClickHouse/ClickHouse/pull/83377) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Se unificaron los nombres de los parámetros de ODBC y JDBC al usar colecciones con nombre. [#83410](https://github.com/ClickHouse/ClickHouse/pull/83410) ([Andrey Zvonov](https://github.com/zvonand)).
* Cuando el almacenamiento se está cerrando, `getStatus` lanza una excepción `ErrorCodes::ABORTED`. Anteriormente, esto hacía fallar la consulta `SELECT`. Ahora capturamos las excepciones `ErrorCodes::ABORTED` y, en su lugar, las ignoramos deliberadamente. [#83435](https://github.com/ClickHouse/ClickHouse/pull/83435) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Añade métricas de recursos del proceso (como `UserTimeMicroseconds`, `SystemTimeMicroseconds`, `RealTimeMicroseconds`) a los eventos de perfil de `part&#95;log` para las entradas `MergeParts`. [#83460](https://github.com/ClickHouse/ClickHouse/pull/83460) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se habilitan de forma predeterminada las banderas de funcionalidad `create_if_not_exists`, `check_not_exists` y `remove_recursive` en Keeper, lo que permite nuevos tipos de solicitudes. [#83488](https://github.com/ClickHouse/ClickHouse/pull/83488) ([Antonio Andelic](https://github.com/antonio2368)).
* Detenga el streaming de S3(Azure/etc)Queue antes de apagar cualquier tabla durante el apagado del servidor. [#83530](https://github.com/ClickHouse/ClickHouse/pull/83530) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Permitir `Date`/`Date32` como enteros en los formatos de entrada `JSON`. [#83597](https://github.com/ClickHouse/ClickHouse/pull/83597) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se hicieron más fáciles de leer los mensajes de excepción para determinadas situaciones al cargar y añadir proyecciones. [#83728](https://github.com/ClickHouse/ClickHouse/pull/83728) ([Robert Schulze](https://github.com/rschu1ze)).
* Se introduce una opción de configuración para omitir las comprobaciones de integridad de la suma de comprobación del binario de `clickhouse-server`. Resuelve [#83637](https://github.com/ClickHouse/ClickHouse/issues/83637). [#83749](https://github.com/ClickHouse/ClickHouse/pull/83749) ([Rafael Roquetto](https://github.com/rafaelroquetto)).

#### corrección de error (fallo visible para el usuario en una versión estable oficial)

* Se corrige el valor predeterminado incorrecto de la opción `--reconnect` en `clickhouse-benchmark`. Se cambió por error en [#79465](https://github.com/ClickHouse/ClickHouse/issues/79465). [#82677](https://github.com/ClickHouse/ClickHouse/pull/82677) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige el formato inconsistente de `CREATE DICTIONARY`. Cierra [#82105](https://github.com/ClickHouse/ClickHouse/issues/82105). [#82829](https://github.com/ClickHouse/ClickHouse/pull/82829) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige el formato inconsistente de TTL cuando contiene una función `materialize`. Cierra [#82828](https://github.com/ClickHouse/ClickHouse/issues/82828). [#82831](https://github.com/ClickHouse/ClickHouse/pull/82831) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige la inconsistencia en el formato de EXPLAIN AST en una subconsulta cuando contiene opciones de salida como INTO OUTFILE. Cierra [#82826](https://github.com/ClickHouse/ClickHouse/issues/82826). [#82840](https://github.com/ClickHouse/ClickHouse/pull/82840) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige el formato inconsistente de las expresiones entre paréntesis con alias en este contexto cuando no se permiten alias. Cierra [#82836](https://github.com/ClickHouse/ClickHouse/issues/82836). Cierra [#82837](https://github.com/ClickHouse/ClickHouse/issues/82837). [#82867](https://github.com/ClickHouse/ClickHouse/pull/82867) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Utilice el código de error correcto al multiplicar el estado de una función de agregación por IPv4. Cierra [#82817](https://github.com/ClickHouse/ClickHouse/issues/82817). [#82818](https://github.com/ClickHouse/ClickHouse/pull/82818) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige un error lógico en la caché del sistema de archivos: "Having zero bytes but range is not finished". [#81868](https://github.com/ClickHouse/ClickHouse/pull/81868) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Recalcula el índice min-max cuando TTL reduce las filas para garantizar la corrección de los algoritmos que dependen de este, como `minmax_count_projection`. Esto resuelve [#77091](https://github.com/ClickHouse/ClickHouse/issues/77091). [#77166](https://github.com/ClickHouse/ClickHouse/pull/77166) ([Amos Bird](https://github.com/amosbird)).
* En las consultas que combinan `ORDER BY ... LIMIT BY ... LIMIT N`, cuando ORDER BY se ejecuta como PartialSorting, el contador `rows_before_limit_at_least` ahora refleja el número de filas consumidas por la cláusula LIMIT, en lugar del número de filas consumidas por la transformación de ordenación. [#78999](https://github.com/ClickHouse/ClickHouse/pull/78999) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige el salto excesivo de gránulos al filtrar con regexp sobre índices token/ngram que contienen alternancia y una primera alternativa no literal. [#79373](https://github.com/ClickHouse/ClickHouse/pull/79373) ([Eduard Karacharov](https://github.com/korowa)).
* Se ha corregido un error lógico con el operador `<=>` y el almacenamiento Join; ahora la consulta devuelve el código de error correcto. [#80165](https://github.com/ClickHouse/ClickHouse/pull/80165) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrige un cierre inesperado en la función `loop` cuando se usa con la familia de funciones `remote`. Se garantiza que se respete la cláusula LIMIT en `loop(remote(...))`. [#80299](https://github.com/ClickHouse/ClickHouse/pull/80299) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrige el comportamiento incorrecto de las funciones `to_utc_timestamp` y `from_utc_timestamp` al procesar fechas anteriores al epoch de Unix (1970-01-01) y posteriores a la fecha máxima (2106-02-07 06:28:15). Ahora estas funciones ajustan correctamente los valores al inicio del epoch y a la fecha máxima, respectivamente. [#80498](https://github.com/ClickHouse/ClickHouse/pull/80498) ([Surya Kant Ranjan](https://github.com/iit2009046)).
* Para algunas consultas ejecutadas con réplicas paralelas, las optimizaciones de lectura en orden podían aplicarse en el iniciador, pero no en los nodos remotos. Esto provocaba que el coordinador de réplicas paralelas (en el iniciador) y los nodos remotos utilizaran modos de lectura distintos, lo cual constituye un error lógico. [#80652](https://github.com/ClickHouse/ClickHouse/pull/80652) ([Igor Nikonov](https://github.com/devcrafter)).
* Corrige un error lógico al materializar una proyección cuando el tipo de la columna se cambió a Nullable. [#80741](https://github.com/ClickHouse/ClickHouse/pull/80741) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió el recálculo incorrecto de TTL en TTL GROUP BY al actualizar el TTL. [#81222](https://github.com/ClickHouse/ClickHouse/pull/81222) ([Evgeniy Ulasik](https://github.com/H0uston)).
* Se corrigió un error por el que el bloom filter de Parquet aplicaba incorrectamente una condición como `WHERE function(key) IN (...)` como si fuera `WHERE key IN (...)`. [#81255](https://github.com/ClickHouse/ClickHouse/pull/81255) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigió un posible bloqueo en `Aggregator` en caso de que se produjera una excepción durante la fusión. [#81450](https://github.com/ClickHouse/ClickHouse/pull/81450) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigió `InterpreterInsertQuery::extendQueryLogElemImpl` para añadir comillas invertidas a los nombres de las bases de datos y las tablas cuando sea necesario (p. ej., cuando los nombres contienen caracteres especiales como `-`). [#81528](https://github.com/ClickHouse/ClickHouse/pull/81528) ([Ilia Shvyrialkin](https://github.com/Harzu)).
* Se corrige la ejecución de `IN` con `transform_null_in=1` cuando hay un `NULL` en el argumento izquierdo y un resultado de subconsulta no `Nullable`. [#81584](https://github.com/ClickHouse/ClickHouse/pull/81584) ([Pavel Kruglov](https://github.com/Avogar)).
* No validar tipos experimentales/sospechosos en la ejecución de expresiones default/materialize al leer de una tabla existente. [#81618](https://github.com/ClickHouse/ClickHouse/pull/81618) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige "Context has expired" durante las fusiones cuando se usa dict en una expresión TTL. [#81690](https://github.com/ClickHouse/ClickHouse/pull/81690) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la monotonía de la función cast. [#81722](https://github.com/ClickHouse/ClickHouse/pull/81722) ([zoomxi](https://github.com/zoomxi)).
* Se corrige el problema por el que no se leen las columnas necesarias durante el procesamiento de subconsultas correlacionadas escalares. Corrige [#81716](https://github.com/ClickHouse/ClickHouse/issues/81716). [#81805](https://github.com/ClickHouse/ClickHouse/pull/81805) ([Dmitry Novik](https://github.com/novikd)).
* En versiones anteriores, el servidor devolvía un contenido excesivo para las solicitudes a `/js`. Esto resuelve [#61890](https://github.com/ClickHouse/ClickHouse/issues/61890). [#81895](https://github.com/ClickHouse/ClickHouse/pull/81895) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Anteriormente, las definiciones del motor de tabla `MongoDB` podían incluir un componente de ruta en el argumento `host:port`, que se ignoraba sin avisar. La integración de `MongoDB` rechaza cargar dichas tablas. Con esta corrección, *permitimos cargar esas tablas e ignorar el componente de ruta* si el motor `MongoDB` tiene cinco argumentos, tomando el nombre de la base de datos de los argumentos. *Nota:* La corrección no se aplica a las tablas recién creadas ni a las consultas con la función de tabla `mongo`, ni tampoco a las fuentes de diccionario ni a las colecciones con nombre. [#81942](https://github.com/ClickHouse/ClickHouse/pull/81942) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió un posible fallo en `Aggregator` en caso de una excepción durante el merge. [#82022](https://github.com/ClickHouse/ClickHouse/pull/82022) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige el análisis de filtros cuando en la consulta solo se usa una columna de alias constante. Corrige [#79448](https://github.com/ClickHouse/ClickHouse/issues/79448). [#82037](https://github.com/ClickHouse/ClickHouse/pull/82037) ([Dmitry Novik](https://github.com/novikd)).
* Se corrigió LOGICAL\_ERROR y el cierre inesperado posterior al usar la misma columna en el TTL para GROUP BY y SET. [#82054](https://github.com/ClickHouse/ClickHouse/pull/82054) ([Pablo Marcos](https://github.com/pamarcos)).
* Se corrige la validación de argumentos de la función de tabla S3 en el enmascaramiento de secretos, lo que evita un posible `LOGICAL_ERROR`; cierra [#80620](https://github.com/ClickHouse/ClickHouse/issues/80620). [#82056](https://github.com/ClickHouse/ClickHouse/pull/82056) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige condiciones de carrera en Iceberg. [#82088](https://github.com/ClickHouse/ClickHouse/pull/82088) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige `DatabaseReplicated::getClusterImpl`. Si el primer elemento (o los primeros elementos) de `hosts` tiene `id == DROPPED_MARK` y no hay otros elementos para el mismo segmento, el primer elemento de `shards` será un vector vacío, lo que provoca `std::out_of_range`. [#82093](https://github.com/ClickHouse/ClickHouse/pull/82093) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se corrige un error de copiar y pegar en arraySimilarity y se prohíbe el uso de pesos UInt32 e Int32. Se actualizan las pruebas y la documentación. [#82103](https://github.com/ClickHouse/ClickHouse/pull/82103) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se corrige el error `Not found column` en consultas con `arrayJoin` en la condición `WHERE` e `IndexSet`. [#82113](https://github.com/ClickHouse/ClickHouse/pull/82113) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige un error en la integración con el catálogo de Glue. Ahora ClickHouse puede leer tablas con tipos de datos anidados en las que algunas subcolumnas contienen valores decimales, por ejemplo: `map<string, decimal(9, 2)>`. Corrige [#81301](https://github.com/ClickHouse/ClickHouse/issues/81301). [#82114](https://github.com/ClickHouse/ClickHouse/pull/82114) ([alesapin](https://github.com/alesapin)).
* Se corrige una degradación del rendimiento en SummingMergeTree introducida en la versión 25.5 en [https://github.com/ClickHouse/ClickHouse/pull/79051](https://github.com/ClickHouse/ClickHouse/pull/79051). [#82130](https://github.com/ClickHouse/ClickHouse/pull/82130) ([Pavel Kruglov](https://github.com/Avogar)).
* Al pasar configuraciones mediante la URI, se tiene en cuenta el último valor. [#82137](https://github.com/ClickHouse/ClickHouse/pull/82137) ([Sema Checherinda](https://github.com/CheSema)).
* Se corrige "Context has expired" en Iceberg. [#82146](https://github.com/ClickHouse/ClickHouse/pull/82146) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un posible interbloqueo en las consultas remotas cuando el servidor está bajo presión de memoria. [#82160](https://github.com/ClickHouse/ClickHouse/pull/82160) ([Kirill](https://github.com/kirillgarbar)).
* Corrige el desbordamiento en las funciones `numericIndexedVectorPointwiseAdd`, `numericIndexedVectorPointwiseSubtract`, `numericIndexedVectorPointwiseMultiply`, `numericIndexedVectorPointwiseDivide` que se producía al aplicarlas a números grandes. [#82165](https://github.com/ClickHouse/ClickHouse/pull/82165) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Se corrige un error en las dependencias entre tablas que hacía que las vistas materializadas no detectaran las consultas INSERT. [#82222](https://github.com/ClickHouse/ClickHouse/pull/82222) ([Nikolay Degterinsky](https://github.com/evillique)).
* Soluciona una posible condición de carrera entre el hilo de sugerencias y el hilo principal del cliente. [#82233](https://github.com/ClickHouse/ClickHouse/pull/82233) ([Azat Khuzhin](https://github.com/azat)).
* Ahora ClickHouse puede leer tablas Iceberg del catálogo de Glue tras la evolución del esquema. Corrige [#81272](https://github.com/ClickHouse/ClickHouse/issues/81272). [#82301](https://github.com/ClickHouse/ClickHouse/pull/82301) ([alesapin](https://github.com/alesapin)).
* Se corrige la validación de la configuración de métricas asíncronas `asynchronous_metrics_update_period_s` y `asynchronous_heavy_metrics_update_period_s`. [#82310](https://github.com/ClickHouse/ClickHouse/pull/82310) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrige un error lógico al resolver el matcher en una consulta con múltiples JOINs; cierra [#81969](https://github.com/ClickHouse/ClickHouse/issues/81969). [#82421](https://github.com/ClickHouse/ClickHouse/pull/82421) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Añadir una expiración al token de AWS ECS para que pueda recargarse. [#82422](https://github.com/ClickHouse/ClickHouse/pull/82422) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige un error con argumentos `NULL` en la función `CASE`. [#82436](https://github.com/ClickHouse/ClickHouse/pull/82436) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige las condiciones de carrera en el cliente (al no usar un contexto global) y las anulaciones de `session_timezone` (anteriormente, si `session_timezone` se establecía, por ejemplo, en `users.xml`/las opciones del cliente con un valor no vacío y en el contexto de la consulta con un valor vacío, se usaba el valor de `users.xml`, aunque esto era incorrecto; ahora el contexto de la consulta siempre tendrá prioridad sobre el contexto global). [#82444](https://github.com/ClickHouse/ClickHouse/pull/82444) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un problema al desactivar la alineación de límites del búfer en caché en los motores de tablas externas. Se había roto en [https://github.com/ClickHouse/ClickHouse/pull/81868](https://github.com/ClickHouse/ClickHouse/pull/81868). [#82493](https://github.com/ClickHouse/ClickHouse/pull/82493) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige el fallo si se hace un JOIN del almacenamiento de clave-valor con una clave con conversión de tipo. [#82497](https://github.com/ClickHouse/ClickHouse/pull/82497) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige el problema de ocultar los valores de las colecciones nombradas en logs/query\_log. Cierra [#82405](https://github.com/ClickHouse/ClickHouse/issues/82405). [#82510](https://github.com/ClickHouse/ClickHouse/pull/82510) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un posible cierre inesperado en logging al terminar una sesión, ya que `user&#95;id` a veces podía estar vacío. [#82513](https://github.com/ClickHouse/ClickHouse/pull/82513) ([Bharat Nallan](https://github.com/bharatnc)).
* Corrige casos en los que el análisis de Time podía causar problemas con msan. Esto corrige: [#82477](https://github.com/ClickHouse/ClickHouse/issues/82477). [#82514](https://github.com/ClickHouse/ClickHouse/pull/82514) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se impide establecer `threadpool_writer_pool_size` en cero para garantizar que las operaciones del servidor no se bloqueen. [#82532](https://github.com/ClickHouse/ClickHouse/pull/82532) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrige `LOGICAL_ERROR` durante el análisis de expresiones de políticas de filas para columnas correlacionadas. [#82618](https://github.com/ClickHouse/ClickHouse/pull/82618) ([Dmitry Novik](https://github.com/novikd)).
* Corrige el uso incorrecto de los metadatos del objeto padre en la función de tabla `mergeTreeProjection` cuando `enable_shared_storage_snapshot_in_query = 1`. Esto corresponde a [#82634](https://github.com/ClickHouse/ClickHouse/issues/82634). [#82638](https://github.com/ClickHouse/ClickHouse/pull/82638) ([Amos Bird](https://github.com/amosbird)).
* Las funciones `trim{Left,Right,Both}` ahora admiten cadenas de entrada de tipo "FixedString(N)". Por ejemplo, `SELECT trimBoth(toFixedString('abc', 3), 'ac')` ahora funciona. [#82691](https://github.com/ClickHouse/ClickHouse/pull/82691) ([Robert Schulze](https://github.com/rschu1ze)).
* En AzureBlobStorage, para la copia nativa se comparan los métodos de autenticación; si durante este proceso se produce una excepción, se actualizó el código para volver a lectura y copia (es decir, copia no nativa). [#82693](https://github.com/ClickHouse/ClickHouse/pull/82693) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se corrige la deserialización de `groupArraySample`/`groupArrayLast` en caso de elementos vacíos (la deserialización podía omitir parte de los datos binarios si la entrada estaba vacía; esto puede provocar corrupción al leer los datos y UNKNOWN\_PACKET\_FROM\_SERVER en el protocolo TCP). Esto no afecta a los tipos numéricos ni a los de fecha y hora. [#82763](https://github.com/ClickHouse/ClickHouse/pull/82763) ([Pedro Ferreira](https://github.com/PedroTadim)).
* Se corrige la copia de seguridad de una tabla `Memory` vacía, que provocaba que la restauración de la copia de seguridad fallara con el error `BACKUP_ENTRY_NOT_FOUND`. [#82791](https://github.com/ClickHouse/ClickHouse/pull/82791) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrigió la seguridad ante excepciones en la reescritura de union/intersect/except\_default\_mode. Cierra [#82664](https://github.com/ClickHouse/ClickHouse/issues/82664). [#82820](https://github.com/ClickHouse/ClickHouse/pull/82820) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Lleva un control del número de trabajos asíncronos de carga de tablas. Si hay trabajos en ejecución, no actualices `tail_ptr` en `TransactionLog::removeOldEntries`. [#82824](https://github.com/ClickHouse/ClickHouse/pull/82824) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrigen condiciones de carrera en Iceberg. [#82841](https://github.com/ClickHouse/ClickHouse/pull/82841) ([Azat Khuzhin](https://github.com/azat)).
* La optimización de la configuración `use_skip_indexes_if_final_exact_mode` (introducida en la versión 25.6) podía no seleccionar un rango candidato relevante en función de la configuración del motor `MergeTree` o de la distribución de los datos. Esto ya se ha resuelto. [#82879](https://github.com/ClickHouse/ClickHouse/pull/82879) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se establece la sal para los datos de autenticación al analizar desde AST con el tipo SCRAM\_SHA256\_PASSWORD. [#82888](https://github.com/ClickHouse/ClickHouse/pull/82888) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Al usar una implementación de Database sin caché, los metadatos de la tabla correspondiente se eliminan tras devolver las columnas y se invalida la referencia. [#82939](https://github.com/ClickHouse/ClickHouse/pull/82939) ([buyval01](https://github.com/buyval01)).
* Se corrige la modificación de filtros en consultas con una expresión JOIN sobre una tabla con almacenamiento `Merge`. Corrige [#82092](https://github.com/ClickHouse/ClickHouse/issues/82092). [#82950](https://github.com/ClickHouse/ClickHouse/pull/82950) ([Dmitry Novik](https://github.com/novikd)).
* Corrige LOGICAL\_ERROR en QueryMetricLog: el mutex no puede ser NULL. [#82979](https://github.com/ClickHouse/ClickHouse/pull/82979) ([Pablo Marcos](https://github.com/pamarcos)).
* Se corrigió la salida incorrecta de la función `formatDateTime` cuando el formateador `%f` se usa junto con formateadores de tamaño variable (p. ej., `%M`). [#83020](https://github.com/ClickHouse/ClickHouse/pull/83020) ([Robert Schulze](https://github.com/rschu1ze)).
* Corrige la degradación del rendimiento del analizador habilitado cuando las consultas secundarias siempre leen todas las columnas de las VIEW. Corrige [#81718](https://github.com/ClickHouse/ClickHouse/issues/81718). [#83036](https://github.com/ClickHouse/ClickHouse/pull/83036) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige un mensaje de error confuso al restaurar una copia de seguridad en un disco de solo lectura. [#83051](https://github.com/ClickHouse/ClickHouse/pull/83051) ([Julia Kartseva](https://github.com/jkartseva)).
* No se comprueban las dependencias cíclicas al CREATE table sin dependencias. Esto corrige la degradación del rendimiento en casos de uso con la creación de miles de tablas, introducida en [https://github.com/ClickHouse/ClickHouse/pull/65405](https://github.com/ClickHouse/ClickHouse/pull/65405). [#83077](https://github.com/ClickHouse/ClickHouse/pull/83077) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un problema con la lectura implícita de valores `Time` negativos en la tabla y evita confusiones en la documentación. [#83091](https://github.com/ClickHouse/ClickHouse/pull/83091) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* No usar partes no relacionadas de un diccionario compartido en la función `lowCardinalityKeys`. [#83118](https://github.com/ClickHouse/ClickHouse/pull/83118) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige la regresión en el uso de subcolumnas con vistas materializadas. Corrige: [#82784](https://github.com/ClickHouse/ClickHouse/issues/82784). [#83221](https://github.com/ClickHouse/ClickHouse/pull/83221) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrigió un cierre inesperado en el cliente debido a que la conexión quedaba en estado desconectado después de un INSERT fallido. [#83253](https://github.com/ClickHouse/ClickHouse/pull/83253) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un fallo al calcular el tamaño de un bloque con columnas vacías. [#83271](https://github.com/ClickHouse/ClickHouse/pull/83271) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige un posible cierre inesperado en el tipo Variant en UNION. [#83295](https://github.com/ClickHouse/ClickHouse/pull/83295) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió LOGICAL\_ERROR en clickhouse-local para consultas SYSTEM no compatibles. [#83333](https://github.com/ClickHouse/ClickHouse/pull/83333) ([Surya Kant Ranjan](https://github.com/iit2009046)).
* Se corrige `no_sign_request` para el cliente de S3. Puede usarse para evitar explícitamente la firma de las solicitudes a S3. También puede definirse para endpoints específicos mediante configuraciones basadas en endpoints. [#83379](https://github.com/ClickHouse/ClickHouse/pull/83379) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige un fallo que puede ocurrir en una consulta con la configuración 'max\_threads=1' cuando se ejecuta bajo carga con la planificación de CPU habilitada. [#83387](https://github.com/ClickHouse/ClickHouse/pull/83387) ([Fan Ziqi](https://github.com/f2quantum)).
* Corrige la excepción `TOO_DEEP_SUBQUERIES` cuando la definición de una CTE hace referencia a otra expresión de tabla con el mismo nombre. [#83413](https://github.com/ClickHouse/ClickHouse/pull/83413) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige el comportamiento incorrecto por el que, al ejecutar `REVOKE S3 ON system.*`, se revocan los permisos de S3 para `*.*`. Esto corrige [#83417](https://github.com/ClickHouse/ClickHouse/issues/83417). [#83420](https://github.com/ClickHouse/ClickHouse/pull/83420) ([pufit](https://github.com/pufit)).
* No compartir async\_read\_counters entre consultas. [#83423](https://github.com/ClickHouse/ClickHouse/pull/83423) ([Azat Khuzhin](https://github.com/azat)).
* Deshabilitar las réplicas en paralelo cuando una subconsulta incluye FINAL. [#83455](https://github.com/ClickHouse/ClickHouse/pull/83455) ([zoomxi](https://github.com/zoomxi)).
* Se resuelve un pequeño desbordamiento de enteros en la configuración del parámetro `role_cache_expiration_time_seconds` (incidencia [#83374](https://github.com/ClickHouse/ClickHouse/issues/83374)). [#83461](https://github.com/ClickHouse/ClickHouse/pull/83461) ([wushap](https://github.com/wushap)).
* Se corrige un error introducido en [https://github.com/ClickHouse/ClickHouse/pull/79963](https://github.com/ClickHouse/ClickHouse/pull/79963). Al insertar en una MV con un definidor, la comprobación de permisos debe usar los permisos del definidor. Esto corrige [#79951](https://github.com/ClickHouse/ClickHouse/issues/79951). [#83502](https://github.com/ClickHouse/ClickHouse/pull/83502) ([pufit](https://github.com/pufit)).
* Desactivar la poda de archivos basada en límites para elementos de Array y valores de Map de Iceberg, incluidos todos sus subcampos anidados. [#83520](https://github.com/ClickHouse/ClickHouse/pull/83520) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige posibles errores por falta de inicialización de la caché del sistema de archivos cuando se usa como almacenamiento temporal de datos. [#83539](https://github.com/ClickHouse/ClickHouse/pull/83539) ([Bharat Nallan](https://github.com/bharatnc)).
* Corrección de Keeper: actualizar correctamente el recuento total de `watch` cuando se eliminan nodos efímeros al cerrar la sesión. [#83583](https://github.com/ClickHouse/ClickHouse/pull/83583) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió el uso incorrecto de memoria relacionado con max\_untracked\_memory. [#83607](https://github.com/ClickHouse/ClickHouse/pull/83607) ([Azat Khuzhin](https://github.com/azat)).
* INSERT SELECT con UNION ALL podía provocar una desreferenciación de puntero nulo en un caso límite. Esto cierra [#83618](https://github.com/ClickHouse/ClickHouse/issues/83618). [#83643](https://github.com/ClickHouse/ClickHouse/pull/83643) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se impide que max\_insert\_block\_size tenga el valor cero, ya que podría causar un error lógico. [#83688](https://github.com/ClickHouse/ClickHouse/pull/83688) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrige un ciclo infinito en estimateCompressionRatio() con block\_size\_bytes=0. [#83704](https://github.com/ClickHouse/ClickHouse/pull/83704) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen las métricas `IndexUncompressedCacheBytes`/`IndexUncompressedCacheCells`/`IndexMarkCacheBytes`/`IndexMarkCacheFiles` (anteriormente se incluían en la métrica sin el prefijo `Cache`). [#83730](https://github.com/ClickHouse/ClickHouse/pull/83730) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige una posible terminación abrupta (debido a que la tarea hace join de hilos) y, con suerte, cuelgues (en las pruebas unitarias) durante el cierre de `BackgroundSchedulePool`. [#83769](https://github.com/ClickHouse/ClickHouse/pull/83769) ([Azat Khuzhin](https://github.com/azat)).
* Se introduce una configuración de compatibilidad con versiones anteriores para permitir que el nuevo analizador haga referencia a un alias externo en la cláusula WITH en caso de colisiones de nombres. Corrige [#82700](https://github.com/ClickHouse/ClickHouse/issues/82700). [#83797](https://github.com/ClickHouse/ClickHouse/pull/83797) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige un interbloqueo durante el apagado debido al bloqueo recursivo del contexto durante la limpieza del puente de bibliotecas. [#83824](https://github.com/ClickHouse/ClickHouse/pull/83824) ([Azat Khuzhin](https://github.com/azat)).

#### Mejora de compilación/pruebas/empaquetado

* Compilar una biblioteca C mínima (10 KB) para el lexer de ClickHouse. Esto es necesario para [#80977](https://github.com/ClickHouse/ClickHouse/issues/80977). [#81347](https://github.com/ClickHouse/ClickHouse/pull/81347) ([Alexey Milovidov](https://github.com/alexey-milovidov)). Añadir una prueba para el lexer independiente y la etiqueta de prueba `fasttest-only`. [#82472](https://github.com/ClickHouse/ClickHouse/pull/82472) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Añadir una comprobación para las entradas del submódulo de Nix. [#81691](https://github.com/ClickHouse/ClickHouse/pull/81691) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corregir una lista de problemas que pueden producirse al intentar ejecutar pruebas de integración en localhost. [#82135](https://github.com/ClickHouse/ClickHouse/pull/82135) ([Oleg Doronin](https://github.com/dorooleg)).
* Compilar SymbolIndex en Mac y FreeBSD. (Pero funcionará solo en sistemas ELF, Linux y FreeBSD). [#82347](https://github.com/ClickHouse/ClickHouse/pull/82347) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se actualizó Azure SDK a la versión 1.15.0. [#82747](https://github.com/ClickHouse/ClickHouse/pull/82747) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Añadir el módulo de almacenamiento de google-cloud-cpp al sistema de compilación. [#82881](https://github.com/ClickHouse/ClickHouse/pull/82881) ([Pablo Marcos](https://github.com/pamarcos)).
* Cambiar `Dockerfile.ubuntu` de clickhouse-server para ajustarlo a los requisitos de Docker Official Library. [#83039](https://github.com/ClickHouse/ClickHouse/pull/83039) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Un seguimiento de [#83158](https://github.com/ClickHouse/ClickHouse/issues/83158) para corregir la carga de compilaciones en `curl clickhouse.com`. [#83463](https://github.com/ClickHouse/ClickHouse/pull/83463) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Añadir el binario `busybox` y herramientas de instalación en `clickhouse/clickhouse-server` y en las imágenes oficiales de `clickhouse`. [#83735](https://github.com/ClickHouse/ClickHouse/pull/83735) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se añadió compatibilidad con la variable de entorno `CLICKHOUSE_HOST` para especificar el host del servidor de ClickHouse, en consonancia con las variables de entorno existentes `CLICKHOUSE_USER` y `CLICKHOUSE_PASSWORD`. Esto permite una configuración más sencilla sin modificar directamente el cliente ni los archivos de configuración. [#83659](https://github.com/ClickHouse/ClickHouse/pull/83659) ([Doron David](https://github.com/dorki)).

<div id="256">
  ### Versión de ClickHouse 25.6, 2025-06-26
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Anteriormente, la función `countMatches` dejaba de contar en la primera coincidencia vacía, incluso si el patrón la aceptaba. Para solucionar este problema, `countMatches` ahora continúa ejecutándose avanzando un carácter cuando se produce una coincidencia vacía. Los usuarios que prefieran conservar el comportamiento anterior pueden habilitar el ajuste `count_matches_stop_at_empty_match`. [#81676](https://github.com/ClickHouse/ClickHouse/pull/81676) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Menor: Se fuerza a que los ajustes del servidor `backup_threads` y `restore_threads` sean distintos de cero. [#80224](https://github.com/ClickHouse/ClickHouse/pull/80224) ([Raúl Marín](https://github.com/Algunenano)).
* Menor: Se corrigió `bitNot` para que `String` devuelva una cadena terminada en cero en su representación interna en memoria. Esto no debería afectar a ningún comportamiento visible para el usuario; sin embargo, el autor quiso destacar este cambio. [#80791](https://github.com/ClickHouse/ClickHouse/pull/80791) ([Azat Khuzhin](https://github.com/azat)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Nuevos tipos de datos: `Time` (\[H]HH:MM:SS) y `Time64` (\[H]HH:MM:SS\[.fractional]), además de algunas funciones básicas de conversión de tipos y funciones para interactuar con otros tipos de datos. Se añadieron configuraciones para la compatibilidad con la función existente `toTime`. La configuración `use_legacy_to_time` se establece para mantener por ahora el comportamiento anterior. [#81217](https://github.com/ClickHouse/ClickHouse/pull/81217) ([Yarik Briukhovetskyi](https://github.com/yariks5s)). Se admite la comparación entre Time/Time64. [#80327](https://github.com/ClickHouse/ClickHouse/pull/80327) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Una nueva herramienta CLI, [`chdig`](https://github.com/azat/chdig/) - interfaz TUI para ClickHouse (similar a top), ahora como parte de ClickHouse. [#79666](https://github.com/ClickHouse/ClickHouse/pull/79666) ([Azat Khuzhin](https://github.com/azat)).
* Se admite la configuración `disk` para los motores de base de datos `Atomic` y `Ordinary`, que especifica el disco donde se almacenan los archivos de metadatos de las tablas. [#80546](https://github.com/ClickHouse/ClickHouse/pull/80546) ([Tuan Pham Anh](https://github.com/tuanpach)). Esto permite adjuntar bases de datos desde fuentes externas.
* Un nuevo tipo de MergeTree, `CoalescingMergeTree`: el motor toma el primer valor no NULL durante las fusiones en segundo plano. Esto cierra [#78869](https://github.com/ClickHouse/ClickHouse/issues/78869). [#79344](https://github.com/ClickHouse/ClickHouse/pull/79344) ([scanhex12](https://github.com/scanhex12)).
* Funciones para leer WKB ("Well-Known Binary" es un formato de codificación binaria de varios tipos de geometría, utilizado en aplicaciones SIG). Consulte [#43941](https://github.com/ClickHouse/ClickHouse/issues/43941). [#80139](https://github.com/ClickHouse/ClickHouse/pull/80139) ([scanhex12](https://github.com/scanhex12)).
* Se añadió la planificación de slots de consulta para las cargas de trabajo; consulta [la planificación de cargas de trabajo](/es/concepts/features/configuration/server-config/workload-scheduling#query_scheduling) para más detalles. [#78415](https://github.com/ClickHouse/ClickHouse/pull/78415) ([Sergei Trifonov](https://github.com/serxa)).
* Funciones auxiliares `timeSeries*` para acelerar algunos casos de uso al trabajar con series temporales: - remuestrear los datos en la cuadrícula temporal con la marca de tiempo de inicio, la marca de tiempo de fin y el paso especificados - calcular `delta`, `rate`, `idelta` e `irate` al estilo de PromQL. [#80590](https://github.com/ClickHouse/ClickHouse/pull/80590) ([Alexander Gololobov](https://github.com/davenger)).
* Se añaden las funciones `mapContainsValuesLike`/`mapContainsValues`/`mapExtractValuesLike` para filtrar valores de `map`, así como su compatibilidad con índices basados en bloom filter. [#78171](https://github.com/ClickHouse/ClickHouse/pull/78171) ([UnamedRus](https://github.com/UnamedRus)).
* Ahora las restricciones de configuración pueden especificar un conjunto de valores no permitidos. [#78499](https://github.com/ClickHouse/ClickHouse/pull/78499) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añadió una configuración `enable_shared_storage_snapshot_in_query` para permitir compartir la misma instantánea de almacenamiento en todas las subconsultas de una misma consulta. Esto garantiza lecturas consistentes de la misma tabla, incluso cuando la consulta hace referencia a ella varias veces. [#79471](https://github.com/ClickHouse/ClickHouse/pull/79471) ([Amos Bird](https://github.com/amosbird)).
* Se admite la escritura de columnas `JSON` en `Parquet` y la lectura directa de columnas `JSON` desde `Parquet`. [#79649](https://github.com/ClickHouse/ClickHouse/pull/79649) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Se añade compatibilidad con `MultiPolygon` en `pointInPolygon`. [#79773](https://github.com/ClickHouse/ClickHouse/pull/79773) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Añade soporte para consultar tablas Delta montadas en un sistema de archivos local mediante la función de tabla `deltaLakeLocal`. [#79781](https://github.com/ClickHouse/ClickHouse/pull/79781) ([roykim98](https://github.com/roykim98)).
* Se agrega una nueva configuración `cast_string_to_date_time_mode` que permite elegir el modo de análisis de DateTime al convertir desde String. [#80210](https://github.com/ClickHouse/ClickHouse/pull/80210) ([Pavel Kruglov](https://github.com/Avogar)). Por ejemplo, puede establecerla en el modo best effort.
* Se añadieron las funciones `bech32Encode` y `bech32Decode` para trabajar con el algoritmo Bech de Bitcoin (incidencia [#40381](https://github.com/ClickHouse/ClickHouse/issues/40381)). [#80239](https://github.com/ClickHouse/ClickHouse/pull/80239) ([George Larionov](https://github.com/glarik)).
* Se añaden funciones SQL para analizar los nombres de las partes de MergeTree. [#80573](https://github.com/ClickHouse/ClickHouse/pull/80573) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Permite filtrar las partes seleccionadas para una consulta según el disco en el que se encuentran, mediante la introducción de una nueva columna virtual, `_disk_name`. [#80650](https://github.com/ClickHouse/ClickHouse/pull/80650) ([tanner-bruce](https://github.com/tanner-bruce)).
* Se añade una página de inicio con la lista de herramientas web integradas. Se abrirá cuando la solicite un agente de usuario similar a un navegador. [#81129](https://github.com/ClickHouse/ClickHouse/pull/81129) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las funciones `arrayFirst`, `arrayFirstIndex`, `arrayLast` y `arrayLastIndex` descartarán los valores NULL devueltos por la expresión de filtro. En versiones anteriores, no se admitían resultados Nullable en el filtro. Corrige [#81113](https://github.com/ClickHouse/ClickHouse/issues/81113). [#81197](https://github.com/ClickHouse/ClickHouse/pull/81197) ([Lennard Eijsackers](https://github.com/Blokje5)).
* Ahora también se puede escribir `USE DATABASE name` en lugar de `USE name`. [#81307](https://github.com/ClickHouse/ClickHouse/pull/81307) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se añadió una nueva tabla del sistema `system.codecs` para consultar los codecs disponibles. (issue [#81525](https://github.com/ClickHouse/ClickHouse/issues/81525)). [#81600](https://github.com/ClickHouse/ClickHouse/pull/81600) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Se añaden las funciones de ventana `lag` y `lead`. Cierra [#9887](https://github.com/ClickHouse/ClickHouse/issues/9887). [#82108](https://github.com/ClickHouse/ClickHouse/pull/82108) ([Dmitry Novik](https://github.com/novikd)).
* La función `tokens` ahora admite un nuevo tokenizador llamado `split`, ideal para logs. [#80195](https://github.com/ClickHouse/ClickHouse/pull/80195) ([Robert Schulze](https://github.com/rschu1ze)).
* Se añadió compatibilidad con el argumento `--database` en `clickhouse-local`. Ahora es posible cambiar a una base de datos creada previamente. Esto cierra [#44115](https://github.com/ClickHouse/ClickHouse/issues/44115). [#81465](https://github.com/ClickHouse/ClickHouse/pull/81465) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se implementó una lógica similar al rebalance de Kafka para `Kafka2` usando ClickHouse Keeper. Para cada réplica, se admiten dos tipos de bloqueos de partición: bloqueos permanentes y bloqueos temporales. La réplica intenta mantener los bloqueos permanentes el mayor tiempo posible; en cualquier momento, no hay más de `all_topic_partitions / active_replicas_count` bloqueos permanentes en la réplica (donde `all_topic_partitions` es el número total de particiones y `active_replicas_count` es el número de réplicas activas). Si hay más, la réplica libera algunas particiones. Algunas particiones quedan retenidas temporalmente por la réplica. El número máximo de bloqueos temporales en una réplica cambia dinámicamente para dar a otras réplicas la oportunidad de convertir algunas particiones en bloqueos permanentes. Al actualizar los bloqueos temporales, la réplica los libera todos e intenta adquirir otros de nuevo. [#78726](https://github.com/ClickHouse/ClickHouse/pull/78726) ([Daria Fomina](https://github.com/sinfillo)).
* Mejora del índice de texto experimental: ahora se admiten parámetros explícitos mediante pares clave-valor. Actualmente, los parámetros admitidos son un `tokenizer` obligatorio y dos opcionales: `max_rows_per_postings_list` y `ngram_size`. [#80262](https://github.com/ClickHouse/ClickHouse/pull/80262) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Anteriormente, el almacenamiento `packed` no era compatible con el full-text index, porque el id del segmento se actualizaba sobre la marcha leyendo y escribiendo el archivo `.gin_sid` en disco. En el caso del almacenamiento `packed`, no se admite leer un valor desde el archivo no confirmado, y esto provocaba un problema. Ahora ya no ocurre. [#80852](https://github.com/ClickHouse/ClickHouse/pull/80852) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Los índices experimentales de tipo `gin` (que no me gustan porque son una broma interna de los hackers de PostgreSQL) pasaron a llamarse `text`. Los índices existentes de tipo `gin` seguirán pudiendo cargarse, pero lanzarán una excepción (sugiriendo índices `text` en su lugar) cuando se intente usarlos en búsquedas. [#80855](https://github.com/ClickHouse/ClickHouse/pull/80855) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Habilita la compatibilidad con el filtrado mediante varias proyecciones, lo que permite usar más de una proyección para el filtrado a nivel de parte. Esto soluciona [#55525](https://github.com/ClickHouse/ClickHouse/issues/55525). Este es el segundo paso para implementar el índice de proyección, después de [#78429](https://github.com/ClickHouse/ClickHouse/issues/78429). [#80343](https://github.com/ClickHouse/ClickHouse/pull/80343) ([Amos Bird](https://github.com/amosbird)).
* Se usa la política de caché `SLRU` en la caché del sistema de archivos de forma predeterminada. [#75072](https://github.com/ClickHouse/ClickHouse/pull/75072) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se eliminó la contención en el paso Resize del pipeline de consultas. [#77562](https://github.com/ClickHouse/ClickHouse/pull/77562) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* Se introdujo una opción para delegar la (des)compresión y la (des)serialización de bloques a los hilos del pipeline en lugar de a un único hilo asociado a una conexión de red. Se controla mediante el ajuste `enable_parallel_blocks_marshalling`. Debería acelerar las consultas distribuidas que transfieren cantidades significativas de datos entre el nodo iniciador y los nodos remotos. [#78694](https://github.com/ClickHouse/ClickHouse/pull/78694) ([Nikita Taranov](https://github.com/nickitat)).
* Mejoras del rendimiento en todos los tipos de bloom filter. [Vídeo de la conferencia OpenHouse](https://www.youtube.com/watch?v=yIVz0NKwQvA\&pp=ygUQb3BlbmhvdXNlIG9wZW5haQ%3D%3D) [#79800](https://github.com/ClickHouse/ClickHouse/pull/79800) ([Delyan Kratunov](https://github.com/dkratunov)).
* Se introdujo una ruta rápida en `UniqExactSet::merge` cuando uno de los conjuntos está vacío. Además, ahora, si el conjunto LHS es de dos niveles y el RHS es de un solo nivel, no se realizará la conversión del RHS a dos niveles. [#79971](https://github.com/ClickHouse/ClickHouse/pull/79971) ([Nikita Taranov](https://github.com/nickitat)).
* Mejora la eficiencia de la reutilización de memoria y reduce los fallos de página al usar las tablas hash de dos niveles. Esto acelera GROUP BY. [#80245](https://github.com/ClickHouse/ClickHouse/pull/80245) ([Jiebin Sun](https://github.com/jiebinn)).
* Evita actualizaciones innecesarias y reduce la contención de bloqueos en la caché de condiciones de consulta. [#80247](https://github.com/ClickHouse/ClickHouse/pull/80247) ([Jiebin Sun](https://github.com/jiebinn)).
* Optimización trivial de `concatenateBlocks`. Es probable que beneficie al `hash join` en paralelo. [#80328](https://github.com/ClickHouse/ClickHouse/pull/80328) ([李扬](https://github.com/taiyang-li)).
* Al seleccionar rangos de marcas a partir del rango de la clave primaria, no se puede usar la búsqueda binaria si la clave primaria está envuelta en funciones. Este PR mejora esta limitación: la búsqueda binaria aún puede aplicarse cuando la clave primaria está envuelta en una cadena de funciones siempre monótonas, o cuando la RPN contiene un elemento siempre verdadero. Cierra [#45536](https://github.com/ClickHouse/ClickHouse/issues/45536). [#80597](https://github.com/ClickHouse/ClickHouse/pull/80597) ([zoomxi](https://github.com/zoomxi)).
* Mejora la velocidad de apagado del motor `Kafka` (se elimina el retraso adicional de 3 segundos en caso de tener varias tablas `Kafka`). [#80796](https://github.com/ClickHouse/ClickHouse/pull/80796) ([Azat Khuzhin](https://github.com/azat)).
* Inserciones asíncronas: reducen el uso de memoria y mejoran el rendimiento de las consultas de inserción. [#80972](https://github.com/ClickHouse/ClickHouse/pull/80972) ([Raúl Marín](https://github.com/Algunenano)).
* No perfilar los procesadores si la tabla de logs está deshabilitada. [#81256](https://github.com/ClickHouse/ClickHouse/pull/81256) ([Raúl Marín](https://github.com/Algunenano)). Esto acelera las consultas muy breves.
* Acelera `toFixedString` cuando la entrada es exactamente la solicitada. [#81257](https://github.com/ClickHouse/ClickHouse/pull/81257) ([Raúl Marín](https://github.com/Algunenano)).
* No procesar los valores de cuota si el usuario no tiene límites. [#81549](https://github.com/ClickHouse/ClickHouse/pull/81549) ([Raúl Marín](https://github.com/Algunenano)). Esto acelera las consultas muy cortas.
* Se corrigió una regresión en el rendimiento del seguimiento de memoria. [#81694](https://github.com/ClickHouse/ClickHouse/pull/81694) ([Michael Kolupaev](https://github.com/al13n321)).
* Mejora la optimización de la clave de segmentación en consultas distribuidas. [#78452](https://github.com/ClickHouse/ClickHouse/pull/78452) ([fhw12345](https://github.com/fhw12345)).
* Réplicas paralelas: evitar esperar a réplicas lentas que no se están utilizando si todas las tareas de lectura ya se han asignado a otras réplicas. [#80199](https://github.com/ClickHouse/ClickHouse/pull/80199) ([Igor Nikonov](https://github.com/devcrafter)).
* Las réplicas paralelas usan un timeout de conexión independiente; consulte la configuración `parallel_replicas_connect_timeout_ms`. Antes, se usaban las configuraciones `connect_timeout_with_failover_ms`/`connect_timeout_with_failover_secure_ms` como valores de timeout de conexión para las consultas con réplicas paralelas (1 segundo de forma predeterminada). [#80421](https://github.com/ClickHouse/ClickHouse/pull/80421) ([Igor Nikonov](https://github.com/devcrafter)).
* En un sistema de archivos con journal, `mkdir` se escribe en el journal del sistema de archivos, que se persiste en disco. En caso de que el disco sea lento, esto puede tardar mucho tiempo. Sáquelo del ámbito del bloqueo de reserva. [#81371](https://github.com/ClickHouse/ClickHouse/pull/81371) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Posponer la lectura de los archivos de manifiesto de Iceberg hasta que se ejecute la primera consulta de lectura. [#81619](https://github.com/ClickHouse/ClickHouse/pull/81619) ([Daniil Ivanik](https://github.com/divanik)).
* Permitir mover el predicado `GLOBAL [NOT] IN` a la cláusula `PREWHERE` cuando corresponda. [#79996](https://github.com/ClickHouse/ClickHouse/pull/79996) ([Eduard Karacharov](https://github.com/korowa)).

<div id="improvement">
  #### Mejora
</div>

* `EXPLAIN SYNTAX` ahora usa un nuevo analizador. Devuelve un AST construido a partir del árbol de la consulta. Se añadió la opción `query_tree_passes` para controlar el número de pasadas que se ejecutan antes de convertir el árbol de la consulta en el AST. [#74536](https://github.com/ClickHouse/ClickHouse/pull/74536) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se implementó la serialización aplanada para Dynamic y JSON en formato Native, que permite serializar y deserializar datos de Dynamic y JSON sin estructuras especiales como shared variant para Dynamic y shared data para JSON. Esta serialización se puede habilitar configurando `output_format_native_use_flattened_dynamic_and_json_serialization`. Esta serialización puede usarse para facilitar el soporte de Dynamic y JSON en el protocolo TCP en clientes escritos en distintos lenguajes. [#80499](https://github.com/ClickHouse/ClickHouse/pull/80499) ([Pavel Kruglov](https://github.com/Avogar)).
* Actualizar las credenciales de `S3` tras el error `AuthenticationRequired`. [#77353](https://github.com/ClickHouse/ClickHouse/pull/77353) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadieron métricas de diccionarios a `system.asynchronous_metrics` - `DictionaryMaxUpdateDelay` - el retraso máximo (en segundos) en la actualización del diccionario. - `DictionaryTotalFailedUpdates` - el número de errores desde la última carga satisfactoria en todos los diccionarios. [#78175](https://github.com/ClickHouse/ClickHouse/pull/78175) ([Vlad](https://github.com/codeworse)).
* Añade una advertencia sobre las bases de datos que podrían haberse creado para guardar tablas dañadas. [#78841](https://github.com/ClickHouse/ClickHouse/pull/78841) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se añade la columna virtual `_time` en el motor `S3Queue`, `AzureQueue`. [#78926](https://github.com/ClickHouse/ClickHouse/pull/78926) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Permitir la recarga en caliente de los ajustes que controlan el cierre de conexiones cuando la CPU está sobrecargada. [#79052](https://github.com/ClickHouse/ClickHouse/pull/79052) ([Alexey Katsman](https://github.com/alexkats)).
* Añade el prefijo del contenedor a las rutas de datos que se informan en system.tables para discos simples en Azure blob storage, de modo que la información mostrada sea coherente con S3 y GCP. [#79241](https://github.com/ClickHouse/ClickHouse/pull/79241) ([Julia Kartseva](https://github.com/jkartseva)).
* Ahora, `clickhouse-client` y `local` también aceptan parámetros de consulta en la forma `param-<name>` (guion), además de `param_<name>` (guion bajo). Con esto se resuelve [#63093](https://github.com/ClickHouse/ClickHouse/issues/63093). [#79429](https://github.com/ClickHouse/ClickHouse/pull/79429) ([Engel Danila](https://github.com/aaaengel)).
* Mensaje de advertencia detallado sobre la reducción del ancho de banda al copiar datos de S3 local a S3 remoto con la suma de verificación habilitada. [#79464](https://github.com/ClickHouse/ClickHouse/pull/79464) ([VicoWu](https://github.com/VicoWu)).
* Anteriormente, cuando `input_format_parquet_max_block_size = 0` (un valor no válido), ClickHouse se quedaba bloqueado. Ahora, este comportamiento ya se ha corregido. Esto cierra [#79394](https://github.com/ClickHouse/ClickHouse/issues/79394). [#79601](https://github.com/ClickHouse/ClickHouse/pull/79601) ([abashkeev](https://github.com/abashkeev)).
* Se añade la configuración `throw_on_error` para `startup_scripts`: cuando `throw_on_error` es `true`, el servidor no se iniciará a menos que todas las consultas se completen correctamente. De forma predeterminada, `throw_on_error` es `false`, lo que mantiene el comportamiento anterior. [#79732](https://github.com/ClickHouse/ClickHouse/pull/79732) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Se permite añadir `http_response_headers` en `http_handlers` de cualquier tipo. [#79975](https://github.com/ClickHouse/ClickHouse/pull/79975) ([Andrey Zvonov](https://github.com/zvonand)).
* La función `reverse` ahora admite el tipo de datos `Tuple`. Cierra [#80053](https://github.com/ClickHouse/ClickHouse/issues/80053). [#80083](https://github.com/ClickHouse/ClickHouse/pull/80083) ([flynn](https://github.com/ucasfl)).
* Se resuelve [#75817](https://github.com/ClickHouse/ClickHouse/issues/75817): ahora se permite obtener datos de `auxiliary_zookeepers` desde la tabla `system.zookeeper`. [#80146](https://github.com/ClickHouse/ClickHouse/pull/80146) ([Nikolay Govorov](https://github.com/mrdimidium)).
* Agrega métricas asíncronas sobre los sockets TCP del servidor. Esto mejora la observabilidad. Cierra [#80187](https://github.com/ClickHouse/ClickHouse/issues/80187). [#80188](https://github.com/ClickHouse/ClickHouse/pull/80188) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se admite `anyLast_respect_nulls` y `any_respect_nulls` como `SimpleAggregateFunction`. [#80219](https://github.com/ClickHouse/ClickHouse/pull/80219) ([Diskein](https://github.com/Diskein)).
* Eliminar la llamada innecesaria a `adjustCreateQueryForBackup` para las bases de datos Replicated. [#80282](https://github.com/ClickHouse/ClickHouse/pull/80282) ([Vitaly Baranov](https://github.com/vitlibar)).
* Permitir opciones adicionales (que van después de `--`, como `-- --config.value='abc'`) en `clickhouse-local` sin el signo igual. Cierra [#80292](https://github.com/ClickHouse/ClickHouse/issues/80292). [#80293](https://github.com/ClickHouse/ClickHouse/pull/80293) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Resaltar los metacaracteres en las consultas `SHOW ... LIKE`. Esto cierra [#80275](https://github.com/ClickHouse/ClickHouse/issues/80275). [#80297](https://github.com/ClickHouse/ClickHouse/pull/80297) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Hacer persistentes las UDF de SQL en `clickhouse-local`. La función creada previamente se cargará al iniciar. Esto cierra [#80085](https://github.com/ClickHouse/ClickHouse/issues/80085). [#80300](https://github.com/ClickHouse/ClickHouse/pull/80300) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corregida la descripción en el plan `explain` del paso preliminar DISTINCT. [#80330](https://github.com/ClickHouse/ClickHouse/pull/80330) ([UnamedRus](https://github.com/UnamedRus)).
* Se permite usar colecciones con nombre en ODBC/JDBC. [#80334](https://github.com/ClickHouse/ClickHouse/pull/80334) ([Andrey Zvonov](https://github.com/zvonand)).
* Métricas sobre la cantidad de discos de solo lectura y dañados. El indicador registra cuándo se inicia DiskLocalCheckThread. [#80391](https://github.com/ClickHouse/ClickHouse/pull/80391) ([VicoWu](https://github.com/VicoWu)).
* Se implementó compatibilidad para el almacenamiento `s3_plain_rewritable` con proyecciones. En versiones anteriores, los objetos de metadatos en S3 que hacían referencia a proyecciones no se actualizaban al trasladarse. Cierra [#70258](https://github.com/ClickHouse/ClickHouse/issues/70258). [#80393](https://github.com/ClickHouse/ClickHouse/pull/80393) ([Sav](https://github.com/sberss)).
* El comando `SYSTEM UNFREEZE` no intentará buscar partes en discos de solo lectura y de escritura única. Esto corrige [#80430](https://github.com/ClickHouse/ClickHouse/issues/80430). [#80432](https://github.com/ClickHouse/ClickHouse/pull/80432) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se redujo el nivel de registro de los mensajes sobre partes fusionadas. [#80476](https://github.com/ClickHouse/ClickHouse/pull/80476) ([Hans Krutzer](https://github.com/hkrutzer)).
* Cambia el comportamiento predeterminado de la poda de particiones para las tablas Iceberg. [#80583](https://github.com/ClickHouse/ClickHouse/pull/80583) ([Melvyn Peignon](https://github.com/melvynator)).
* Se agregan dos nuevos ProfileEvents para la observabilidad del algoritmo de búsqueda de índices: `IndexBinarySearchAlgorithm` y `IndexGenericExclusionSearchAlgorithm`. [#80679](https://github.com/ClickHouse/ClickHouse/pull/80679) ([Pablo Marcos](https://github.com/pamarcos)).
* No emitir advertencias en los logs sobre `MADV_POPULATE_WRITE` no compatible en kernels antiguos (para evitar ensuciar los logs). [#80704](https://github.com/ClickHouse/ClickHouse/pull/80704) ([Robert Schulze](https://github.com/rschu1ze)).
* Se añadió compatibilidad con `Date32` y `DateTime64` en las expresiones `TTL`. [#80710](https://github.com/ClickHouse/ClickHouse/pull/80710) ([Andrey Zvonov](https://github.com/zvonand)).
* Ajuste de los valores de compatibilidad de `max_merge_delayed_streams_for_parallel_write`. [#80760](https://github.com/ClickHouse/ClickHouse/pull/80760) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un fallo: si se lanza una excepción al intentar eliminar un archivo temporal (se utilizan para volcar datos temporales en disco) en el destructor, el programa puede finalizar. [#80776](https://github.com/ClickHouse/ClickHouse/pull/80776) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió el modificador `IF EXISTS` a `SYSTEM SYNC REPLICA`. [#80810](https://github.com/ClickHouse/ClickHouse/pull/80810) ([Raúl Marín](https://github.com/Algunenano)).
* Se amplía el mensaje de excepción sobre "Having zero bytes, but read range is not finished..." y se añade la columna finished\_download\_time a `system.filesystem_cache`. [#80849](https://github.com/ClickHouse/ClickHouse/pull/80849) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Agregar una sección del algoritmo de búsqueda a la salida de `EXPLAIN` al usarlo con índices = 1. Muestra "búsqueda binaria" o "búsqueda genérica por exclusión". [#80881](https://github.com/ClickHouse/ClickHouse/pull/80881) ([Pablo Marcos](https://github.com/pamarcos)).
* A principios de 2024, `prefer_column_name_to_alias` se fijó en true para el handler de MySQL porque el nuevo analizador no estaba habilitado de forma predeterminada. Ahora, ya no es necesario dejarlo codificado de forma fija. [#80916](https://github.com/ClickHouse/ClickHouse/pull/80916) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Ahora, `system.iceberg_history` muestra el historial de bases de datos de catálogo, como glue o iceberg rest. Además, se renombraron las columnas `table_name` y `database_name` a `table` y `database` en `system.iceberg_history` para mayor coherencia. [#80975](https://github.com/ClickHouse/ClickHouse/pull/80975) ([alesapin](https://github.com/alesapin)).
* Se permite el modo de solo lectura para la table function `merge`, por lo que no se requiere el privilegio `CREATE TEMPORARY TABLE` para usarla. [#80981](https://github.com/ClickHouse/ClickHouse/pull/80981) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Mejor introspección de las cachés en memoria (se expone información sobre las cachés en `system.metrics`, frente a la incompleta `system.asynchronouse_metrics`). Se añade el tamaño de las cachés en memoria (en bytes) a `dashboard.html`. `VectorSimilarityIndexCacheSize`/`IcebergMetadataFilesCacheSize` se han renombrado a `VectorSimilarityIndexCacheBytes`/`IcebergMetadataFilesCacheBytes`. [#81023](https://github.com/ClickHouse/ClickHouse/pull/81023) ([Azat Khuzhin](https://github.com/azat)).
* Ignorar las bases de datos con motores que no pueden contener tablas `RocksDB` al leer de `system.rocksdb`. [#81083](https://github.com/ClickHouse/ClickHouse/pull/81083) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se permite `filesystem_caches` y `named_collections` en el archivo de configuración de `clickhouse-local`. [#81105](https://github.com/ClickHouse/ClickHouse/pull/81105) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige el resaltado de `PARTITION BY` en instrucciones `INSERT`. En versiones anteriores, `PARTITION BY` no se resaltaba como palabra clave. [#81106](https://github.com/ClickHouse/ClickHouse/pull/81106) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Dos pequeñas mejoras en la Web UI: - gestionar correctamente las consultas sin salida, como `CREATE` e `INSERT` (hasta hace poco, estas consultas provocaban un indicador de carga infinito); - al hacer doble clic en una tabla, desplazarse hasta la parte superior. [#81131](https://github.com/ClickHouse/ClickHouse/pull/81131) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La métrica `MemoryResidentWithoutPageCache` proporciona la cantidad de memoria física que utiliza el proceso del servidor, excluida la caché de páginas en espacio de usuario, en bytes. Esto ofrece una visión más precisa del uso real de memoria cuando se utiliza la caché de páginas en espacio de usuario. Cuando la caché de páginas en espacio de usuario está deshabilitada, este valor es igual a `MemoryResident`. [#81233](https://github.com/ClickHouse/ClickHouse/pull/81233) ([Jayme Bird](https://github.com/jaymebrd)).
* Marcar como registradas las excepciones registradas manualmente en el cliente, el servidor local, el cliente de Keeper y la app de discos, para que no se registren dos veces. [#81271](https://github.com/ClickHouse/ClickHouse/pull/81271) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Las configuraciones `use_skip_indexes_if_final` y `use_skip_indexes_if_final_exact_mode` ahora tienen `True` como valor predeterminado. Las consultas con la cláusula `FINAL` ahora usarán índices de omisión (cuando corresponda) para preseleccionar gránulos y también leerán cualquier gránulo adicional correspondiente a rangos coincidentes de la clave primaria. Los usuarios que necesiten el comportamiento anterior, con resultados aproximados o imprecisos, pueden establecer `use_skip_indexes_if_final_exact_mode` en FALSE tras evaluarlo cuidadosamente. [#81331](https://github.com/ClickHouse/ClickHouse/pull/81331) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Cuando hay varias consultas en la interfaz web, se ejecutará la que esté bajo el cursor. Continuación de [#80977](https://github.com/ClickHouse/ClickHouse/issues/80977). [#81354](https://github.com/ClickHouse/ClickHouse/pull/81354) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Este PR corrige problemas en la implementación de `is_strict` en las comprobaciones de monotonicidad de las funciones de conversión. Actualmente, algunas funciones de conversión, como `toFloat64(UInt32)` y `toDate(UInt8)`, devuelven incorrectamente `is_strict` con el valor false cuando deberían devolver true. [#81359](https://github.com/ClickHouse/ClickHouse/pull/81359) ([zoomxi](https://github.com/zoomxi)).
* Al comprobar si una `KeyCondition` coincide con un rango continuo, si la clave está envuelta en una cadena no estricta de funciones, es posible que un `Constraint::POINT` deba convertirse en un `Constraint::RANGE`. Por ejemplo: `toDate(event_time) = '2025-06-03'` implica un rango para `event_time`: \['2025-06-03 00:00:00', '2025-06-04 00:00:00'). Este PR corrige este comportamiento. [#81400](https://github.com/ClickHouse/ClickHouse/pull/81400) ([zoomxi](https://github.com/zoomxi)).
* Los alias `clickhouse`/`ch` invocarán `clickhouse-client` en lugar de `clickhouse-local` si se especifica `--host` o `--port`. Continuación de [#79422](https://github.com/ClickHouse/ClickHouse/issues/79422). Cierra [#65252](https://github.com/ClickHouse/ClickHouse/issues/65252). [#81509](https://github.com/ClickHouse/ClickHouse/pull/81509) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ahora que tenemos los datos sobre la distribución de los tiempos de respuesta de Keeper, podemos ajustar los rangos del histograma de métricas. [#81516](https://github.com/ClickHouse/ClickHouse/pull/81516) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se añadió el evento de perfil `PageCacheReadBytes`. [#81742](https://github.com/ClickHouse/ClickHouse/pull/81742) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregido un error lógico en la caché del sistema de archivos: "Tiene cero bytes, pero el rango no ha finalizado". [#81868](https://github.com/ClickHouse/ClickHouse/pull/81868) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Se corrige la vista con parámetros en una consulta SELECT EXCEPT. Cierra [#49447](https://github.com/ClickHouse/ClickHouse/issues/49447). [#57380](https://github.com/ClickHouse/ClickHouse/pull/57380) ([Nikolay Degterinsky](https://github.com/evillique)).
* Analizador: corrige el nombre de la proyección de la columna después de la promoción del tipo de columna en un JOIN. Cierra [#63345](https://github.com/ClickHouse/ClickHouse/issues/63345). [#63519](https://github.com/ClickHouse/ClickHouse/pull/63519) ([Dmitry Novik](https://github.com/novikd)).
* Se corrigió un error lógico en casos de conflicto entre nombres de columnas cuando analyzer\_compatibility\_join\_using\_top\_level\_identifier está habilitado. [#75676](https://github.com/ClickHouse/ClickHouse/pull/75676) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige el uso de CTE en los predicados que se aplican mediante pushdown cuando `allow_push_predicate_ast_for_distributed_subqueries` está habilitado. Corrige [#75647](https://github.com/ClickHouse/ClickHouse/issues/75647). Corrige [#79672](https://github.com/ClickHouse/ClickHouse/issues/79672). [#77316](https://github.com/ClickHouse/ClickHouse/pull/77316) ([Dmitry Novik](https://github.com/novikd)).
* Corrige un problema por el que SYSTEM SYNC REPLICA LIGHTWEIGHT 'foo' informaba de que se había ejecutado correctamente incluso cuando la réplica especificada no existía. Ahora, el comando valida correctamente que la réplica exista en Keeper antes de intentar la sincronización. [#78405](https://github.com/ClickHouse/ClickHouse/pull/78405) ([Jayme Bird](https://github.com/jaymebrd)).
* Se corrige un bloqueo en una situación muy específica al usar la función `currentDatabase` en secciones `CONSTRAINT` de consultas `ON CLUSTER` Cierra [#78100](https://github.com/ClickHouse/ClickHouse/issues/78100). [#79070](https://github.com/ClickHouse/ClickHouse/pull/79070) ([pufit](https://github.com/pufit)).
* Se corrigió el envío de roles externos en las consultas entre servidores. [#79099](https://github.com/ClickHouse/ClickHouse/pull/79099) ([Andrey Zvonov](https://github.com/zvonand)).
* Se intenta usar IColumn en lugar de Field en SingleValueDataGeneric. Esto corrige los valores de retorno incorrectos de algunas funciones de agregación, como `argMax`, para los tipos `Dynamic/Variant/JSON`. [#79166](https://github.com/ClickHouse/ClickHouse/pull/79166) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la aplicación de las opciones use\_native\_copy y allow\_azure\_native\_copy para Azure Blob Storage, y se actualiza el comportamiento para usar la copia nativa solo cuando coinciden las credenciales, lo que resuelve [#78964](https://github.com/ClickHouse/ClickHouse/issues/78964). [#79561](https://github.com/ClickHouse/ClickHouse/pull/79561) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Corrige errores lógicos relacionados con el ámbito de origen desconocido de una columna que se producían al comprobar si dicha columna está correlacionada. Corrige [#78183](https://github.com/ClickHouse/ClickHouse/issues/78183). Corrige [#79451](https://github.com/ClickHouse/ClickHouse/issues/79451). [#79727](https://github.com/ClickHouse/ClickHouse/pull/79727) ([Dmitry Novik](https://github.com/novikd)).
* Corrige los resultados incorrectos de los conjuntos de agrupación con ColumnConst y Analyzer. [#79743](https://github.com/ClickHouse/ClickHouse/pull/79743) ([Andrey Zvonov](https://github.com/zvonand)).
* Se corrige la duplicación de resultados del segmento local al leer desde una tabla distribuida cuando la réplica local está desactualizada. [#79761](https://github.com/ClickHouse/ClickHouse/pull/79761) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrige el orden de clasificación de los NaN con bit de signo negativo. [#79847](https://github.com/ClickHouse/ClickHouse/pull/79847) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Ahora, GROUP BY ALL no tiene en cuenta la parte de GROUPING. [#79915](https://github.com/ClickHouse/ClickHouse/pull/79915) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrigió la fusión incorrecta de estados en las funciones `TopK` / `TopKWeighted`, que provocaba valores de error excesivos incluso cuando no se había agotado la capacidad. [#79939](https://github.com/ClickHouse/ClickHouse/pull/79939) ([Joel Höner](https://github.com/athre0z)).
* Se respeta la configuración `readonly` en el almacenamiento de objetos `azure_blob_storage`. [#79954](https://github.com/ClickHouse/ClickHouse/pull/79954) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrigieron resultados incorrectos de consultas y bloqueos por falta de memoria al usar `match(column, '^…')` con caracteres escapados mediante barra invertida. [#79969](https://github.com/ClickHouse/ClickHouse/pull/79969) ([filimonov](https://github.com/filimonov)).
* Deshabilitación del particionado de Hive para data lakes. Aborda parcialmente [https://github.com/issues/assigned?issue=ClickHouse%7CClickHouse%7C79937](https://github.com/issues/assigned?issue=ClickHouse%7CClickHouse%7C79937). [#80005](https://github.com/ClickHouse/ClickHouse/pull/80005) ([Daniil Ivanik](https://github.com/divanik)).
* Los índices de omisión con expresiones lambda no se podían aplicar. Se corrige el caso en el que las funciones de alto nivel de la definición del índice coinciden exactamente con las de la consulta. [#80025](https://github.com/ClickHouse/ClickHouse/pull/80025) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige la versión de los metadatos al adjuntar una parte en la réplica que ejecuta el comando ATTACH\_PART desde el registro de replicación. [#80038](https://github.com/ClickHouse/ClickHouse/pull/80038) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Los nombres de las funciones definidas por el usuario ejecutables (eUDF) no se añaden a la columna `used_functions` de la tabla `system.query_log`, a diferencia de otras funciones. Este PR implementa la adición del nombre de la eUDF si la eUDF se utilizó en la consulta. [#80073](https://github.com/ClickHouse/ClickHouse/pull/80073) ([Kyamran](https://github.com/nibblerenush)).
* Se corrige un error lógico en el formato Arrow con LowCardinality(FixedString). [#80156](https://github.com/ClickHouse/ClickHouse/pull/80156) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la lectura de subcolumnas en el motor Merge. [#80158](https://github.com/ClickHouse/ClickHouse/pull/80158) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error en la comparación entre tipos numéricos en `KeyCondition`. [#80207](https://github.com/ClickHouse/ClickHouse/pull/80207) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrige AMBIGUOUS\_COLUMN\_NAME al aplicar la materialización diferida a una tabla con proyecciones. [#80251](https://github.com/ClickHouse/ClickHouse/pull/80251) ([Igor Nikonov](https://github.com/devcrafter)).
* Corrige la optimización incorrecta de `count` para filtros por prefijo en cadenas como LIKE 'ab\_c%' cuando se usan proyecciones implícitas. Esto corrige [#80250](https://github.com/ClickHouse/ClickHouse/issues/80250). [#80261](https://github.com/ClickHouse/ClickHouse/pull/80261) ([Amos Bird](https://github.com/amosbird)).
* Corrige la serialización incorrecta de campos numéricos anidados como cadenas en los documentos de MongoDB. Elimina el límite máximo de profundidad de los documentos de MongoDB. [#80289](https://github.com/ClickHouse/ClickHouse/pull/80289) ([Kirill Nikiforov](https://github.com/allmazz)).
* Se realizan comprobaciones de metadatos menos estrictas para RMT en la base de datos Replicated. Cierra [#80296](https://github.com/ClickHouse/ClickHouse/issues/80296). [#80298](https://github.com/ClickHouse/ClickHouse/pull/80298) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige la representación textual de DateTime y DateTime64 para el almacenamiento en Postgres. [#80301](https://github.com/ClickHouse/ClickHouse/pull/80301) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se permite `DateTime` con zona horaria en las tablas `StripeLog`. Esto cierra [#44120](https://github.com/ClickHouse/ClickHouse/issues/44120). [#80304](https://github.com/ClickHouse/ClickHouse/pull/80304) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Deshabilita el push-down de filtros para el predicado con una función no determinista si un paso del plan de consulta cambia el número de filas. Corrige [#40273](https://github.com/ClickHouse/ClickHouse/issues/40273). [#80329](https://github.com/ClickHouse/ClickHouse/pull/80329) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige posibles errores lógicos y bloqueos en las proyecciones con subcolumnas. [#80333](https://github.com/ClickHouse/ClickHouse/pull/80333) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige el error `NOT_FOUND_COLUMN_IN_BLOCK` causado por la optimización de filter-push-down del sep lógico de JOIN cuando la expresión `ON` no es una igualdad trivial. Corrige [#79647](https://github.com/ClickHouse/ClickHouse/issues/79647) Corrige [#77848](https://github.com/ClickHouse/ClickHouse/issues/77848). [#80360](https://github.com/ClickHouse/ClickHouse/pull/80360) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige los resultados incorrectos al leer claves en orden inverso en tablas particionadas. Esto corrige [#79987](https://github.com/ClickHouse/ClickHouse/issues/79987). [#80448](https://github.com/ClickHouse/ClickHouse/pull/80448) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la ordenación incorrecta en tablas con una clave Nullable y con optimize\_read\_in\_order habilitado. [#80515](https://github.com/ClickHouse/ClickHouse/pull/80515) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrigió el problema por el que DROP de una vista materializada actualizable se quedaba bloqueado si la vista se había pausado mediante SYSTEM STOP REPLICATED VIEW. [#80543](https://github.com/ClickHouse/ClickHouse/pull/80543) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige el error 'Cannot find column' con una tupla constante en una consulta distribuida. [#80596](https://github.com/ClickHouse/ClickHouse/pull/80596) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige la función `shardNum` en las tablas distribuidas con `join_use_nulls`. [#80612](https://github.com/ClickHouse/ClickHouse/pull/80612) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se corrige un resultado incorrecto al leer una columna presente en un subconjunto de tablas del motor Merge. [#80643](https://github.com/ClickHouse/ClickHouse/pull/80643) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un posible problema con el protocolo SSH (debido a un bloqueo en replxx). [#80688](https://github.com/ClickHouse/ClickHouse/pull/80688) ([Azat Khuzhin](https://github.com/azat)).
* El timestamp de la tabla iceberg\_history ahora debería ser correcto. [#80711](https://github.com/ClickHouse/ClickHouse/pull/80711) ([Melvyn Peignon](https://github.com/melvynator)).
* Se corrige un posible cierre inesperado si falla el registro de un diccionario (cuando `CREATE DICTIONARY` fallaba con `CANNOT_SCHEDULE_TASK`, podía dejar un puntero colgante en el registro de diccionarios, lo que posteriormente provocaba un cierre inesperado). [#80714](https://github.com/ClickHouse/ClickHouse/pull/80714) ([Azat Khuzhin](https://github.com/azat)).
* Corrige el manejo de globs de `enum` de un solo elemento en las funciones de tabla de almacenamiento de objetos. [#80716](https://github.com/ClickHouse/ClickHouse/pull/80716) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige el tipo de resultado incorrecto de las funciones de comparación con Tuple(Dynamic) y String, que provocaba un error lógico. [#80728](https://github.com/ClickHouse/ClickHouse/pull/80728) ([Pavel Kruglov](https://github.com/Avogar)).
* Añade la compatibilidad faltante con el tipo de datos `timestamp_ntz` para Unity Catalog. Corrige [#79535](https://github.com/ClickHouse/ClickHouse/issues/79535) y [#79875](https://github.com/ClickHouse/ClickHouse/issues/79875). [#80740](https://github.com/ClickHouse/ClickHouse/pull/80740) ([alesapin](https://github.com/alesapin)).
* Se corrige el error `THERE_IS_NO_COLUMN` en consultas distribuidas con `IN cte`. Corrige [#75032](https://github.com/ClickHouse/ClickHouse/issues/75032). [#80757](https://github.com/ClickHouse/ClickHouse/pull/80757) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige el número excesivo de archivos (lo que provoca un uso excesivo de memoria) para ORDER BY externo. [#80777](https://github.com/ClickHouse/ClickHouse/pull/80777) ([Azat Khuzhin](https://github.com/azat)).
* Este PR podría cerrar [#80742](https://github.com/ClickHouse/ClickHouse/issues/80742). [#80783](https://github.com/ClickHouse/ClickHouse/pull/80783) ([zoomxi](https://github.com/zoomxi)).
* Se corrigió un bloqueo en Kafka porque get\_member\_id() creaba std::string a partir de NULL (probablemente solo ocurría cuando fallaba la conexión con el broker). [#80793](https://github.com/ClickHouse/ClickHouse/pull/80793) ([Azat Khuzhin](https://github.com/azat)).
* Esperar correctamente a que finalicen los consumidores antes de apagar el motor Kafka (los consumidores activos tras el apagado pueden disparar varias aserciones de depuración y también pueden leer datos de los brókeres en segundo plano después de que la tabla se haya eliminado o puesto en estado detached). [#80795](https://github.com/ClickHouse/ClickHouse/pull/80795) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige `NOT_FOUND_COLUMN_IN_BLOCK`, causado por la optimización `predicate-push-down`. Corrige [#80443](https://github.com/ClickHouse/ClickHouse/issues/80443). [#80834](https://github.com/ClickHouse/ClickHouse/pull/80834) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió un error lógico al resolver el comodín de asterisco (\*) en una función de tabla en JOIN con USING. [#80894](https://github.com/ClickHouse/ClickHouse/pull/80894) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corregir el cómputo de memoria de la caché de archivos de metadatos de Iceberg. [#80904](https://github.com/ClickHouse/ClickHouse/pull/80904) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un particionamiento incorrecto con clave de partición Nullable. [#80913](https://github.com/ClickHouse/ClickHouse/pull/80913) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige el error `Table does not exist` en consultas distribuidas con el predicado propagado (`allow_push_predicate_ast_for_distributed_subqueries=1`) cuando la tabla de origen no existe en el iniciador. Corrige [#77281](https://github.com/ClickHouse/ClickHouse/issues/77281). [#80915](https://github.com/ClickHouse/ClickHouse/pull/80915) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige el error lógico en las funciones anidadas con ventanas con nombre. [#80926](https://github.com/ClickHouse/ClickHouse/pull/80926) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrigen los valores extremos en columnas Nullable y de coma flotante. [#80970](https://github.com/ClickHouse/ClickHouse/pull/80970) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrigió un posible fallo al consultar system.tables (probablemente en casos de presión de memoria). [#80976](https://github.com/ClickHouse/ClickHouse/pull/80976) ([Azat Khuzhin](https://github.com/azat)).
* Corrige el renombrado atómico con truncado para archivos cuya compresión se deduce de la extensión del archivo. [#80979](https://github.com/ClickHouse/ClickHouse/pull/80979) ([Pablo Marcos](https://github.com/pamarcos)).
* Se corrige ErrorCodes::getName. [#81032](https://github.com/ClickHouse/ClickHouse/pull/81032) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Se corrige un error por el que el usuario no podía listar tablas en Unity Catalog sin tener permisos para todas ellas. Ahora todas las tablas se listan correctamente; cualquier intento de leer de una tabla restringida lanzará una excepción. [#81044](https://github.com/ClickHouse/ClickHouse/pull/81044) ([alesapin](https://github.com/alesapin)).
* Ahora ClickHouse ignorará los errores y las respuestas inesperadas de los catálogos de lagos de datos en la consulta `SHOW TABLES`. Corrige [#79725](https://github.com/ClickHouse/ClickHouse/issues/79725). [#81046](https://github.com/ClickHouse/ClickHouse/pull/81046) ([alesapin](https://github.com/alesapin)).
* Se corrige el análisis de DateTime64 a partir de enteros en JSONExtract y el análisis del tipo JSON. [#81050](https://github.com/ClickHouse/ClickHouse/pull/81050) ([Pavel Kruglov](https://github.com/Avogar)).
* Reflejar la configuración date\_time\_input\_format en la caché de inferencia de esquemas. [#81052](https://github.com/ClickHouse/ClickHouse/pull/81052) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un cierre inesperado en INSERT si la tabla se había eliminado con DROP después de iniciarse la consulta, pero antes de que se enviaran las columnas. [#81053](https://github.com/ClickHouse/ClickHouse/pull/81053) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el uso de un valor sin inicializar en quantileDeterministic. [#81062](https://github.com/ClickHouse/ClickHouse/pull/81062) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la gestión del recuento de enlaces duros para las transacciones del disco metadatastoragefromdisk. Se añaden pruebas. [#81066](https://github.com/ClickHouse/ClickHouse/pull/81066) ([Sema Checherinda](https://github.com/CheSema)).
* Los nombres de las funciones definidas por el usuario (UDF) no se agregan a la tabla `system.query_log`, a diferencia de los de otras funciones. Este PR añade el nombre de la UDF a una de las dos columnas, `used_executable_user_defined_functions` o `used_sql_user_defined_functions`, si la UDF se utilizó en la consulta. [#81101](https://github.com/ClickHouse/ClickHouse/pull/81101) ([Kyamran](https://github.com/nibblerenush)).
* Se corrigieron errores `Too large size ... passed to allocator` o posibles bloqueos en las inserciones mediante el protocolo HTTP con formatos de texto (`JSON`, `Values`, ...) y con campos `Enum` omitidos. [#81145](https://github.com/ClickHouse/ClickHouse/pull/81145) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige LOGICAL\_ERROR en el caso de una columna dispersa en un bloque INSERT enviado a una MV no MT. [#81161](https://github.com/ClickHouse/ClickHouse/pull/81161) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige `Unknown table expression identifier` en `distributed_product_mode_local=local` con replicación cruzada. [#81162](https://github.com/ClickHouse/ClickHouse/pull/81162) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió el almacenamiento en caché incorrecto del número de filas en archivos Parquet tras aplicar el filtro. [#81184](https://github.com/ClickHouse/ClickHouse/pull/81184) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige la configuración fs cache max\_size\_to\_total\_space cuando se usa con una ruta de caché relativa. [#81237](https://github.com/ClickHouse/ClickHouse/pull/81237) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió el cierre inesperado de `clickhouse-local` al generar tuplas o maps constantes en formato Parquet. [#81249](https://github.com/ClickHouse/ClickHouse/pull/81249) ([Michael Kolupaev](https://github.com/al13n321)).
* Verificar los offsets de Array recibidos por red. [#81269](https://github.com/ClickHouse/ClickHouse/pull/81269) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un caso límite en una consulta que realiza join sobre tablas vacías y usa funciones de ventana. El error provoca un crecimiento explosivo del número de streams paralelos, lo que provoca OOMs. [#81299](https://github.com/ClickHouse/ClickHouse/pull/81299) ([Alexander Gololobov](https://github.com/davenger)).
* Correcciones para las funciones `Cluster` de lago de datos (`deltaLakeCluster`, `icebergCluster`, etc.): (1) se corrige un posible error de segmentación en `DataLakeConfiguration` al usar la función `Cluster` con el analizador antiguo; (2) se eliminan las actualizaciones duplicadas de metadatos del lago de datos (solicitudes adicionales a object storage); (3) se corrige el listado redundante en object storage cuando el format no se especifica explícitamente (algo que ya se había hecho para los motores de lago de datos sin clúster). [#81300](https://github.com/ClickHouse/ClickHouse/pull/81300) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Hacer que la bandera force\_restore\_data permita recuperar los metadatos perdidos de Keeper. [#81324](https://github.com/ClickHouse/ClickHouse/pull/81324) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige un error de región en delta-kernel. Corrige [#79914](https://github.com/ClickHouse/ClickHouse/issues/79914). [#81353](https://github.com/ClickHouse/ClickHouse/pull/81353) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Deshabilitar el JIT erróneo de divideOrNull. [#81370](https://github.com/ClickHouse/ClickHouse/pull/81370) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige un error de inserción cuando una tabla MergeTree tiene un nombre largo para la columna de partición. [#81390](https://github.com/ClickHouse/ClickHouse/pull/81390) ([hy123q](https://github.com/haoyangqian)).
* Retroportado en [#81957](https://github.com/ClickHouse/ClickHouse/issues/81957): Se corrigió un posible cierre inesperado en `Aggregator` en caso de una excepción durante el merge. [#81450](https://github.com/ClickHouse/ClickHouse/pull/81450) ([Nikita Taranov](https://github.com/nickitat)).
* No almacene en memoria el contenido de varios archivos de manifiesto. [#81470](https://github.com/ClickHouse/ClickHouse/pull/81470) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigió un posible fallo al cerrar los pools en segundo plano (`background_.*pool_size`). [#81473](https://github.com/ClickHouse/ClickHouse/pull/81473) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige una lectura fuera de límites en el formato `Npy` que se producía al escribir en una tabla con el motor `URL`. Esto cierra [#81356](https://github.com/ClickHouse/ClickHouse/issues/81356). [#81502](https://github.com/ClickHouse/ClickHouse/pull/81502) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Es posible que la Web UI muestre `NaN%` (los típicos problemas de JavaScript). [#81507](https://github.com/ClickHouse/ClickHouse/pull/81507) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió `DatabaseReplicated` para `database_replicated_enforce_synchronous_settings=1`. [#81564](https://github.com/ClickHouse/ClickHouse/pull/81564) ([Azat Khuzhin](https://github.com/azat)).
* Corregido el orden de ordenación de los tipos LowCardinality(Nullable(...)). [#81583](https://github.com/ClickHouse/ClickHouse/pull/81583) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* El servidor no debería conservar una conexión HTTP si la solicitud no se ha leído por completo desde el socket. [#81595](https://github.com/ClickHouse/ClickHouse/pull/81595) ([Sema Checherinda](https://github.com/CheSema)).
* Hacer que las subconsultas correlacionadas escalares devuelvan un resultado Nullable de la expresión de proyección. Se corrige el caso en que una subconsulta correlacionada produce un conjunto de resultados vacío. [#81632](https://github.com/ClickHouse/ClickHouse/pull/81632) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige `Unexpected relative path for a deduplicated part` durante `ATTACH` a `ReplicatedMergeTree`. [#81647](https://github.com/ClickHouse/ClickHouse/pull/81647) ([Azat Khuzhin](https://github.com/azat)).
* La configuración de la consulta `use_iceberg_partition_pruning` no surtirá efecto para el almacenamiento Iceberg, porque usa el contexto global en lugar del contexto de la consulta. No es crítico porque su valor predeterminado es true. Este PR puede solucionarlo. [#81673](https://github.com/ClickHouse/ClickHouse/pull/81673) ([Han Fei](https://github.com/hanfei1991)).
* Retroportado en [#82128](https://github.com/ClickHouse/ClickHouse/issues/82128): se corrige "Context has expired" durante las fusiones cuando se usa dict en una expresión TTL. [#81690](https://github.com/ClickHouse/ClickHouse/pull/81690) ([Azat Khuzhin](https://github.com/azat)).
* Añade una validación para la configuración de MergeTree `merge_max_block_size` a fin de garantizar que no sea cero. [#81693](https://github.com/ClickHouse/ClickHouse/pull/81693) ([Bharat Nallan](https://github.com/bharatnc)).
* Corrige problemas con `clickhouse-local` relacionados con consultas `DROP VIEW ` bloqueadas. [#81705](https://github.com/ClickHouse/ClickHouse/pull/81705) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrige el JOIN de StorageRedis en algunos casos. [#81736](https://github.com/ClickHouse/ClickHouse/pull/81736) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige un fallo en `ConcurrentHashJoin` con `USING ()` vacío y con el analizador antiguo activado. [#81754](https://github.com/ClickHouse/ClickHouse/pull/81754) ([Nikita Taranov](https://github.com/nickitat)).
* Corrección de Keeper: bloquear la confirmación de nuevos logs si hay una entrada no válida en los logs. Anteriormente, si el líder aplicaba incorrectamente algunos logs, seguía confirmando nuevos logs, aunque el follower detectara una discrepancia del digest y abortara. [#81780](https://github.com/ClickHouse/ClickHouse/pull/81780) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el problema por el que no se leen las columnas necesarias durante el procesamiento de subconsultas escalares correlacionadas. Corrige [#81716](https://github.com/ClickHouse/ClickHouse/issues/81716). [#81805](https://github.com/ClickHouse/ClickHouse/pull/81805) ([Dmitry Novik](https://github.com/novikd)).
* Alguien ensució nuestro código con Kusto. Lo limpiamos. Esto cierra [#81643](https://github.com/ClickHouse/ClickHouse/issues/81643). [#81885](https://github.com/ClickHouse/ClickHouse/pull/81885) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* En versiones anteriores, el servidor devolvía demasiado contenido para las solicitudes a `/js`. Esto corrige [#61890](https://github.com/ClickHouse/ClickHouse/issues/61890). [#81895](https://github.com/ClickHouse/ClickHouse/pull/81895) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Anteriormente, las definiciones del motor de tabla `MongoDB` podían incluir un componente de ruta en el argumento `host:port`, que se ignoraba silenciosamente. La integración de `MongoDB` se negaba a cargar esas tablas. Con esta corrección, *permitimos cargar esas tablas e ignorar el componente de ruta* si el motor `MongoDB` tiene cinco argumentos, usando el nombre de la base de datos de los argumentos. *Nota:* La corrección no se aplica a las tablas recién creadas ni a las consultas con la función de tabla `mongo`, ni tampoco a las fuentes de diccionario ni a las colecciones con nombre. [#81942](https://github.com/ClickHouse/ClickHouse/pull/81942) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió un posible fallo en `Aggregator` en caso de que se produjera una excepción durante el merge. [#82022](https://github.com/ClickHouse/ClickHouse/pull/82022) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige un error de copia y pega en `arraySimilarity`, lo que impide el uso de pesos `UInt32` e `Int32`. Se actualizan las pruebas y la documentación. [#82103](https://github.com/ClickHouse/ClickHouse/pull/82103) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Corrige una posible condición de carrera entre el hilo de sugerencias y el hilo principal del cliente. [#82233](https://github.com/ClickHouse/ClickHouse/pull/82233) ([Azat Khuzhin](https://github.com/azat)).

#### Mejora de compilación/pruebas/empaquetado

* Usa `postgres` 16.9. [#81437](https://github.com/ClickHouse/ClickHouse/pull/81437) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se usa `openssl` 3.2.4. [#81438](https://github.com/ClickHouse/ClickHouse/pull/81438) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se usa `abseil-cpp` 2025-01-27. [#81440](https://github.com/ClickHouse/ClickHouse/pull/81440) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se usa `mongo-c-driver` 1.30.4. [#81449](https://github.com/ClickHouse/ClickHouse/pull/81449) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Usa `krb5` 1.21.3-final. [#81453](https://github.com/ClickHouse/ClickHouse/pull/81453) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Usar `orc` 2.1.2. [#81455](https://github.com/ClickHouse/ClickHouse/pull/81455) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Usa `grpc` 1.73.0. [#81629](https://github.com/ClickHouse/ClickHouse/pull/81629) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Usar `delta-kernel-rs` v0.12.1. [#81707](https://github.com/ClickHouse/ClickHouse/pull/81707) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se actualiza `c-ares` a `v1.34.5`. [#81159](https://github.com/ClickHouse/ClickHouse/pull/81159) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Actualiza `curl` a la versión 8.14 para corregir CVE-2025-5025 y CVE-2025-4947. [#81171](https://github.com/ClickHouse/ClickHouse/pull/81171) ([larryluogit](https://github.com/larryluogit)).
* Actualiza `libarchive` a la versión 3.7.9 para corregir: CVE-2024-20696 CVE-2025-25724 CVE-2024-48958 CVE-2024-57970 CVE-2025-1632 CVE-2024-48957 CVE-2024-48615. [#81174](https://github.com/ClickHouse/ClickHouse/pull/81174) ([larryluogit](https://github.com/larryluogit)).
* Se actualiza `libxml2` a 2.14.3. [#81187](https://github.com/ClickHouse/ClickHouse/pull/81187) ([larryluogit](https://github.com/larryluogit)).
* Evite copiar el código fuente vendorizado de Rust a `CARGO_HOME`. [#79560](https://github.com/ClickHouse/ClickHouse/pull/79560) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Eliminar la dependencia de la biblioteca Sentry reemplazándola por nuestro propio endpoint. [#80236](https://github.com/ClickHouse/ClickHouse/pull/80236) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Actualización de las dependencias de Python en las imágenes de CI para corregir las alertas de Dependabot. [#80658](https://github.com/ClickHouse/ClickHouse/pull/80658) ([Raúl Marín](https://github.com/Algunenano)).
* Reintentar la lectura de la marca de parada del DDL replicado desde Keeper al inicio para que las pruebas sean más robustas cuando la inyección de fallos está habilitada en Keeper. [#80964](https://github.com/ClickHouse/ClickHouse/pull/80964) ([Alexander Gololobov](https://github.com/davenger)).
* Usa HTTPS para la URL del archivo de Ubuntu. [#81016](https://github.com/ClickHouse/ClickHouse/pull/81016) ([Raúl Marín](https://github.com/Algunenano)).
* Se actualizaron las dependencias de Python en las imágenes de prueba. [#81042](https://github.com/ClickHouse/ClickHouse/pull/81042) ([dependabot\[bot\]](https://github.com/apps/dependabot)).
* Se añade `flake.nix` para compilaciones de Nix. [#81463](https://github.com/ClickHouse/ClickHouse/pull/81463) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Soluciona que `delta-kernel-rs` requiera acceso a la red durante la compilación. Cierra [#80609](https://github.com/ClickHouse/ClickHouse/issues/80609). [#81602](https://github.com/ClickHouse/ClickHouse/pull/81602) ([Konstantin Bogdanov](https://github.com/thevar1able)). Lee el artículo [A Year of Rust in ClickHouse](https://clickhouse.com/blog/rust).

<div id="255">
  ### Versión de ClickHouse 25.5, 2025-05-22
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* La función `geoToH3` ahora acepta la entrada en el orden (lat, lon, res) (como es habitual en otras funciones geométricas). Los usuarios que deseen conservar el orden de resultados anterior (lon, lat, res) pueden establecer la configuración `geotoh3_argument_order = 'lon_lat'`. [#78852](https://github.com/ClickHouse/ClickHouse/pull/78852) ([Pratima Patel](https://github.com/pratimapatel2008)).
* Se añade la configuración de caché del sistema de archivos `allow_dynamic_cache_resize`, con valor predeterminado `false`, para permitir el cambio dinámico de tamaño de la caché del sistema de archivos. Motivo: en ciertos entornos (ClickHouse Cloud), todos los eventos de escalado se producen mediante el reinicio del proceso, y queremos que esta funcionalidad esté explícitamente deshabilitada para tener más control sobre el comportamiento y como medida de seguridad. Este PR está marcado como incompatible con versiones anteriores porque, en versiones antiguas, el cambio dinámico de tamaño de la caché funcionaba de forma predeterminada sin necesidad de una configuración especial. [#79148](https://github.com/ClickHouse/ClickHouse/pull/79148) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se eliminó la compatibilidad con los tipos de índice heredados `annoy` y `usearch`. Ambos han sido implementaciones ficticias durante mucho tiempo; es decir, cualquier intento de usar estos índices heredados devolvía un error de todos modos. Si todavía tiene índices `annoy` y `usearch`, elimínelos. [#79802](https://github.com/ClickHouse/ClickHouse/pull/79802) ([Robert Schulze](https://github.com/rschu1ze)).
* Se elimina la configuración del servidor `format_alter_commands_with_parentheses`. La configuración se introdujo y estaba deshabilitada de forma predeterminada en 24.2. Se habilitó de forma predeterminada en 25.2. Como no hay versiones LTS que no admitan el nuevo formato, podemos eliminar la configuración. [#79970](https://github.com/ClickHouse/ClickHouse/pull/79970) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se habilita de forma predeterminada la implementación `delta-kernel-rs` del almacenamiento `DeltaLake`. [#79541](https://github.com/ClickHouse/ClickHouse/pull/79541) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Si la lectura desde una `URL` implica varios redireccionamientos, la configuración `enable_url_encoding` se aplica correctamente en todos los redireccionamientos de la cadena. [#79563](https://github.com/ClickHouse/ClickHouse/pull/79563) ([Shankar Iyer](https://github.com/shankar-iyer)). El valor predeterminado de la configuración `enble_url_encoding` ahora es `false`. [#80088](https://github.com/ClickHouse/ClickHouse/pull/80088) ([Shankar Iyer](https://github.com/shankar-iyer)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se admiten subconsultas escalares correlacionadas en la cláusula WHERE. Cierra [#6697](https://github.com/ClickHouse/ClickHouse/issues/6697). [#79600](https://github.com/ClickHouse/ClickHouse/pull/79600) ([Dmitry Novik](https://github.com/novikd)). Se admiten subconsultas correlacionadas en la lista de proyección en casos simples. [#79925](https://github.com/ClickHouse/ClickHouse/pull/79925) ([Dmitry Novik](https://github.com/novikd)). [#76078](https://github.com/ClickHouse/ClickHouse/pull/76078) ([Dmitry Novik](https://github.com/novikd)). Ahora cubre el 100 % de la suite de pruebas TPC-H.
* La búsqueda vectorial con el índice de similitud vectorial ahora está en beta (antes era experimental). [#80164](https://github.com/ClickHouse/ClickHouse/pull/80164) ([Robert Schulze](https://github.com/rschu1ze)).
* Compatibilidad con tipos geo en formato `Parquet`. Cierra [#75317](https://github.com/ClickHouse/ClickHouse/issues/75317). [#79777](https://github.com/ClickHouse/ClickHouse/pull/79777) ([scanhex12](https://github.com/scanhex12)).
* Nuevas funciones `sparseGrams`, `sparseGramsHashes`, `sparseGramsHashesUTF8`, `sparseGramsUTF8` para calcular "ngramas dispersos", un algoritmo robusto para extraer subcadenas para su indexación y búsqueda. [#79517](https://github.com/ClickHouse/ClickHouse/pull/79517) ([scanhex12](https://github.com/scanhex12)).
* `clickhouse-local` (y su alias abreviado, `ch`) ahora usan un `FROM table` implícito cuando hay datos de entrada que procesar. Esto resuelve [#65023](https://github.com/ClickHouse/ClickHouse/issues/65023). También se habilitó la inferencia de formato en `clickhouse-local` si no se especifica `--input-format` y se procesa un archivo regular. [#79085](https://github.com/ClickHouse/ClickHouse/pull/79085) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade las funciones `stringBytesUniq` y `stringBytesEntropy` para buscar posibles datos aleatorios o cifrados. [#79350](https://github.com/ClickHouse/ClickHouse/pull/79350) ([Sachin Kumar Singh](https://github.com/sachinkumarsingh092)).
* Se agregaron funciones para codificar y decodificar en base32. [#79809](https://github.com/ClickHouse/ClickHouse/pull/79809) ([Joanna Hulboj](https://github.com/jh0x)).
* Se añaden las funciones `getServerSetting` y `getMergeTreeSetting`. Cierra #78318. [#78439](https://github.com/ClickHouse/ClickHouse/pull/78439) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Se añade la nueva configuración `iceberg_enable_version_hint` para aprovechar el archivo `version-hint.text`. [#78594](https://github.com/ClickHouse/ClickHouse/pull/78594) ([Arnaud Briche](https://github.com/arnaudbriche)).
* Permite truncar tablas específicas de una base de datos, filtradas mediante la palabra clave `LIKE`. [#78597](https://github.com/ClickHouse/ClickHouse/pull/78597) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se admite la columna virtual `_part_starting_offset` en tablas de la familia `MergeTree`. Esta columna representa el número acumulado de filas de todas las partes anteriores, calculado en tiempo de consulta a partir de la lista actual de partes. Los valores acumulados se conservan durante toda la ejecución de la consulta y siguen siendo válidos incluso después de la poda de partes. También se ha refactorizado la lógica interna relacionada para admitir este comportamiento. [#79417](https://github.com/ClickHouse/ClickHouse/pull/79417) ([Amos Bird](https://github.com/amosbird)).
* Agregar las funciones `divideOrNull`,`moduloOrNull`, `intDivOrNull`,`positiveModuloOrNull` para devolver NULL cuando el argumento de la derecha es cero. [#78276](https://github.com/ClickHouse/ClickHouse/pull/78276) ([kevinyhzou](https://github.com/KevinyhZou)).
* La búsqueda vectorial de ClickHouse ahora admite tanto el prefiltrado como el posfiltrado, y ofrece ajustes relacionados para un control más preciso. (issue [#78161](https://github.com/ClickHouse/ClickHouse/issues/78161)). [#79854](https://github.com/ClickHouse/ClickHouse/pull/79854) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se añaden las funciones [`icebergHash`](https://iceberg.apache.org/spec/#appendix-b-32-bit-hash-requirements) y [`icebergBucket`](https://iceberg.apache.org/spec/#bucket-transform-details). Se admite la poda de archivos de datos en tablas `Iceberg` particionadas con la [transformación `bucket`](https://iceberg.apache.org/spec/#partitioning). [#79262](https://github.com/ClickHouse/ClickHouse/pull/79262) ([Daniil Ivanik](https://github.com/divanik)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Nuevos data types `Time`/`Time64`: `Time` (HHH:MM:SS) y `Time64` (HHH:MM:SS.`<fractional>`), además de algunas funciones básicas de cast y funciones para interactuar con otros data types. Además, se cambió el nombre de la función existente toTime a toTimeWithFixedDate porque la función toTime es necesaria para la función de cast. [#75735](https://github.com/ClickHouse/ClickHouse/pull/75735) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
  72459\).
* Catálogo de metastore de Hive para el datalake Iceberg. [#77677](https://github.com/ClickHouse/ClickHouse/pull/77677) ([scanhex12](https://github.com/scanhex12)).
* Los índices de tipo `full_text` pasaron a llamarse `gin`. Esto sigue la terminología más conocida de PostgreSQL y otras bases de datos. Los índices existentes de tipo `full_text` seguirán pudiéndose cargar, pero lanzarán una excepción (sugiriendo índices `gin` en su lugar) cuando se intente usarlos en búsquedas. [#79024](https://github.com/ClickHouse/ClickHouse/pull/79024) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Se cambió el formato de parte Compact para guardar marcas de cada subflujo y así poder leer subcolumnas individuales. El formato Compact antiguo sigue siendo compatible para lecturas y puede habilitarse para escrituras mediante la configuración de MergeTree `write_marks_for_substreams_in_compact_parts`. Está deshabilitado de forma predeterminada para que las actualizaciones sean más seguras, ya que cambia el almacenamiento de las partes compactas. Se habilitará de forma predeterminada en una de las próximas versiones. [#77940](https://github.com/ClickHouse/ClickHouse/pull/77940) ([Pavel Kruglov](https://github.com/Avogar)).
* Permitir mover condiciones con subcolumnas a prewhere. [#79489](https://github.com/ClickHouse/ClickHouse/pull/79489) ([Pavel Kruglov](https://github.com/Avogar)).
* Acelera los índices secundarios al evaluar sus expresiones en varios gránulos a la vez. [#64109](https://github.com/ClickHouse/ClickHouse/pull/64109) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se habilita `compile_expressions` (compilador JIT para fragmentos de expresiones ordinarias) de forma predeterminada. Esto resuelve [#51264](https://github.com/ClickHouse/ClickHouse/issues/51264), [#56386](https://github.com/ClickHouse/ClickHouse/issues/56386) y [#66486](https://github.com/ClickHouse/ClickHouse/issues/66486). [#79907](https://github.com/ClickHouse/ClickHouse/pull/79907) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Nueva configuración introducida: `use_skip_indexes_in_final_exact_mode`. Si una consulta sobre una tabla `ReplacingMergeTree` tiene la cláusula FINAL, leer solo rangos de tabla basados en índices de omisión puede producir resultados incorrectos. Esta configuración puede garantizar que se devuelvan resultados correctos al escanear las partes más recientes que se solapan con los rangos de clave primaria devueltos por el índice de omisión. Establézcala en 0 para deshabilitarla y en 1 para habilitarla. [#78350](https://github.com/ClickHouse/ClickHouse/pull/78350) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Las funciones de tabla de clúster para almacenamiento de objetos (p. ej., `s3Cluster`) ahora asignarán archivos a las réplicas para leerlos en función de un hash consistente, a fin de mejorar la localidad de la caché. [#77326](https://github.com/ClickHouse/ClickHouse/pull/77326) ([Andrej Hoos](https://github.com/adikus)).
* Mejora el rendimiento de `S3Queue`/`AzureQueue` al permitir realizar `INSERT` de datos en paralelo (se puede habilitar con la configuración de `queue` `parallel_inserts=true`). Anteriormente, S3Queue/AzureQueue solo podía ejecutar en paralelo la primera parte del pipeline (descarga y análisis); `INSERT` era monohilo. Y los `INSERT` son casi siempre el cuello de botella. Ahora escalará casi linealmente con `processing_threads_num`. [#77671](https://github.com/ClickHouse/ClickHouse/pull/77671) ([Azat Khuzhin](https://github.com/azat)). `max&#95;processed&#95;files&#95;before&#95;commit` más equitativo en S3Queue/AzureQueue. [#79363](https://github.com/ClickHouse/ClickHouse/pull/79363) ([Azat Khuzhin](https://github.com/azat)).
* Se introdujo un umbral (controlado por la configuración `parallel_hash_join_threshold`) para volver al algoritmo `hash` cuando el tamaño de la tabla derecha está por debajo de ese umbral. [#76185](https://github.com/ClickHouse/ClickHouse/pull/76185) ([Nikita Taranov](https://github.com/nickitat)).
* Ahora usamos el número de réplicas para determinar el tamaño de las tareas de lectura con las réplicas paralelas habilitadas. Esto mejora la distribución de la carga entre las réplicas cuando la cantidad de datos que hay que leer no es muy grande. [#78695](https://github.com/ClickHouse/ClickHouse/pull/78695) ([Nikita Taranov](https://github.com/nickitat)).
* Se permite la fusión en paralelo de los estados de `uniqExact` durante la etapa final de la agregación distribuida. [#78703](https://github.com/ClickHouse/ClickHouse/pull/78703) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige una posible degradación del rendimiento en la fusión paralela de estados de `uniqExact` para la agregación por clave. [#78724](https://github.com/ClickHouse/ClickHouse/pull/78724) ([Nikita Taranov](https://github.com/nickitat)).
* Se reduce el número de llamadas a la API List Blobs del almacenamiento de Azure. [#78860](https://github.com/ClickHouse/ClickHouse/pull/78860) ([Julia Kartseva](https://github.com/jkartseva)).
* Mejora el rendimiento del `INSERT SELECT` distribuido con réplicas paralelas. [#79441](https://github.com/ClickHouse/ClickHouse/pull/79441) ([Azat Khuzhin](https://github.com/azat)).
* Evita que `LogSeriesLimiter` haga la limpieza en cada creación, lo que evita la contención por bloqueos y las regresiones de rendimiento en escenarios de alta concurrencia. [#79864](https://github.com/ClickHouse/ClickHouse/pull/79864) ([filimonov](https://github.com/filimonov)).
* Aceleración de consultas mediante la optimización de conteo trivial. [#79945](https://github.com/ClickHouse/ClickHouse/pull/79945) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora del inlining para algunas operaciones con `Decimal`. [#79999](https://github.com/ClickHouse/ClickHouse/pull/79999) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se establece `input_format_parquet_bloom_filter_push_down` en `true` de forma predeterminada. Además, se corrige un error en el historial de cambios de la configuración. [#80058](https://github.com/ClickHouse/ClickHouse/pull/80058) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se optimizaron las mutaciones `ALTER ... DELETE` para las partes en las que deben eliminarse todas las filas. Ahora, en esos casos, se crea una parte vacía en lugar de la parte original, sin ejecutar una mutación. [#79307](https://github.com/ClickHouse/ClickHouse/pull/79307) ([Anton Popov](https://github.com/CurtizJ)).
* Se evita realizar copias adicionales del bloque durante la inserción en una parte Compact cuando es posible. [#79536](https://github.com/ClickHouse/ClickHouse/pull/79536) ([Pavel Kruglov](https://github.com/Avogar)).
* Se añade la configuración `input_format_max_block_size_bytes` para limitar, en bytes, los bloques creados en los formatos de entrada. Puede ayudar a evitar un uso elevado de memoria durante la importación de datos cuando las filas contienen valores grandes. [#79495](https://github.com/ClickHouse/ClickHouse/pull/79495) ([Pavel Kruglov](https://github.com/Avogar)).
* Se eliminan las páginas de guarda para los hilos y async\_socket\_for\_remote/use\_hedge\_requests. Se cambia el método de asignación en `FiberStack` de `mmap` a `aligned_alloc`. Dado que esto divide las VMA, con alta carga se puede alcanzar vm.max\_map\_count. [#79147](https://github.com/ClickHouse/ClickHouse/pull/79147) ([Sema Checherinda](https://github.com/CheSema)).
* Materialización diferida con réplicas paralelas. [#79401](https://github.com/ClickHouse/ClickHouse/pull/79401) ([Igor Nikonov](https://github.com/devcrafter)).

<div id="improvement">
  #### Mejora
</div>

* Se añadió la posibilidad de aplicar eliminaciones ligeras sobre la marcha (con los ajustes `lightweight_deletes_sync = 0`, `apply_mutations_on_fly = 1`. [#79281](https://github.com/ClickHouse/ClickHouse/pull/79281) ([Anton Popov](https://github.com/CurtizJ)).
* Si los datos en el formato Pretty se muestran en el terminal y un bloque posterior tiene los mismos anchos de columna, puede continuar a partir del bloque anterior, uniéndose a él al mover el cursor hacia arriba. Esto cierra [#79333](https://github.com/ClickHouse/ClickHouse/issues/79333). Esta funcionalidad se controla mediante la nueva configuración `output_format_pretty_glue_chunks`. [#79339](https://github.com/ClickHouse/ClickHouse/pull/79339) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se amplía la función `isIPAddressInRange` para los tipos de datos `String`, `IPv4`, `IPv6`, `Nullable(String)`, `Nullable(IPv4)` y `Nullable(IPv6)`. [#78364](https://github.com/ClickHouse/ClickHouse/pull/78364) ([YjyJeff](https://github.com/YjyJeff)).
* Permitir cambiar de forma dinámica la configuración del pool de conexiones del motor `PostgreSQL`. [#78414](https://github.com/ClickHouse/ClickHouse/pull/78414) ([Samay Sharma](https://github.com/samay-sharma)).
* Se permite especificar `_part_offset` en una proyección normal. Este es el primer paso para crear un índice de proyección. Puede usarse con [#58224](https://github.com/ClickHouse/ClickHouse/issues/58224) y puede ayudar a mejorar #63207. [#78429](https://github.com/ClickHouse/ClickHouse/pull/78429) ([Amos Bird](https://github.com/amosbird)).
* Se agregan nuevas columnas (`create_query` y `source`) a `system.named_collections`. Cierra [#78179](https://github.com/ClickHouse/ClickHouse/issues/78179). [#78582](https://github.com/ClickHouse/ClickHouse/pull/78582) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Se añadió un nuevo campo `condition` a la tabla del sistema `system.query_condition_cache`. Almacena la condición en texto sin cifrar cuyo hash se utiliza como clave en la caché de condiciones de consulta. [#78671](https://github.com/ClickHouse/ClickHouse/pull/78671) ([Robert Schulze](https://github.com/rschu1ze)).
* Ahora se pueden crear índices de similitud vectorial en columnas `BFloat16`. [#78850](https://github.com/ClickHouse/ClickHouse/pull/78850) ([Robert Schulze](https://github.com/rschu1ze)).
* Se admiten marcas de tiempo Unix con parte fraccionaria en el análisis de `DateTime64` con mejor esfuerzo. [#78908](https://github.com/ClickHouse/ClickHouse/pull/78908) ([Pavel Kruglov](https://github.com/Avogar)).
* En la implementación de delta-kernel para el almacenamiento `DeltaLake`, se corrige el modo de mapeo de columnas y se añaden pruebas para la evolución del esquema. [#78921](https://github.com/ClickHouse/ClickHouse/pull/78921) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se mejora la inserción en la columna `Variant` en el formato Values mediante una mejor conversión de valores. [#78923](https://github.com/ClickHouse/ClickHouse/pull/78923) ([Pavel Kruglov](https://github.com/Avogar)).
* La función `tokens` se amplió para aceptar un argumento adicional "tokenizer", además de otros argumentos específicos del tokenizador. [#79001](https://github.com/ClickHouse/ClickHouse/pull/79001) ([Elmi Ahmadov](https://github.com/ahmadov)).
* La sentencia `SHOW CLUSTER` ahora expande las macros (si existen) en su argumento. [#79006](https://github.com/ClickHouse/ClickHouse/pull/79006) ([arf42](https://github.com/arf42)).
* Las funciones hash ahora admiten `NULL` dentro de arrays, tuplas y maps. (incidencias [#48365](https://github.com/ClickHouse/ClickHouse/issues/48365) y [#48623](https://github.com/ClickHouse/ClickHouse/issues/48623)). [#79008](https://github.com/ClickHouse/ClickHouse/pull/79008) ([Michael Kolupaev](https://github.com/al13n321)).
* Se actualiza cctz a 2025a. [#79043](https://github.com/ClickHouse/ClickHouse/pull/79043) ([Raúl Marín](https://github.com/Algunenano)).
* Se cambia el procesamiento predeterminado de stderr para UDFs a "log\_last". Mejora la usabilidad. [#79066](https://github.com/ClickHouse/ClickHouse/pull/79066) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permitir deshacer el cierre de pestañas en la interfaz web. Esto cierra [#71284](https://github.com/ClickHouse/ClickHouse/issues/71284). [#79084](https://github.com/ClickHouse/ClickHouse/pull/79084) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Eliminar la configuración en `recoverLostReplica`, tal como se hizo en: [https://github.com/ClickHouse/ClickHouse/pull/78637](https://github.com/ClickHouse/ClickHouse/pull/78637). [#79113](https://github.com/ClickHouse/ClickHouse/pull/79113) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añaden eventos de perfil: `ParquetReadRowGroups` y `ParquetPrunedRowGroups` para perfilar la poda del índice de Parquet. [#79180](https://github.com/ClickHouse/ClickHouse/pull/79180) ([flynn](https://github.com/ucasfl)).
* Se admite `ALTER` en una base de datos en clúster. [#79242](https://github.com/ClickHouse/ClickHouse/pull/79242) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se omiten explícitamente las ejecuciones perdidas de la recopilación de estadísticas para QueryMetricLog; de lo contrario, el log tardará mucho tiempo en ponerse al día con la hora actual. [#79257](https://github.com/ClickHouse/ClickHouse/pull/79257) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Algunas pequeñas optimizaciones en la lectura de formatos basados en `Arrow`. [#79308](https://github.com/ClickHouse/ClickHouse/pull/79308) ([Bharat Nallan](https://github.com/bharatnc)).
* La configuración `allow_archive_path_syntax` se marcó como experimental por error. Se añadió una prueba para evitar que la configuración experimental esté habilitada de forma predeterminada. [#79320](https://github.com/ClickHouse/ClickHouse/pull/79320) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ahora es posible ajustar la configuración de la caché de páginas por consulta. Esto es necesario para experimentar más rápidamente y para poder afinar las consultas de alto rendimiento y baja latencia. [#79337](https://github.com/ClickHouse/ClickHouse/pull/79337) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* No mostrar sugerencias numéricas en los formatos Pretty para los números que se parecen a la mayoría de los hashes de 64 bits. Esto cierra [#79334](https://github.com/ClickHouse/ClickHouse/issues/79334). [#79338](https://github.com/ClickHouse/ClickHouse/pull/79338) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Los colores de los gráficos en los paneles avanzados se calcularán a partir del hash de la consulta correspondiente. Esto facilita recordar y localizar un gráfico al desplazarse por el panel. [#79341](https://github.com/ClickHouse/ClickHouse/pull/79341) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la métrica asíncrona `FilesystemCacheCapacity`, que indica la capacidad total del sistema de archivos virtual `cache`. Esto resulta útil para el monitoreo global de la infraestructura. [#79348](https://github.com/ClickHouse/ClickHouse/pull/79348) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Optimizar el acceso a system.parts (leer el tamaño de las columnas/índices solo cuando se solicite). [#79352](https://github.com/ClickHouse/ClickHouse/pull/79352) ([Azat Khuzhin](https://github.com/azat)).
* Calcular solo los campos relevantes para la consulta `'SHOW CLUSTER <name>'` en lugar de todos los campos. [#79368](https://github.com/ClickHouse/ClickHouse/pull/79368) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Permite especificar la configuración de almacenamiento para `DatabaseCatalog`. [#79407](https://github.com/ClickHouse/ClickHouse/pull/79407) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadió compatibilidad con almacenamiento local en `DeltaLake`. [#79416](https://github.com/ClickHouse/ClickHouse/pull/79416) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade una configuración a nivel de consulta para habilitar delta-kernel-rs: `allow_experimental_delta_kernel_rs`. [#79418](https://github.com/ClickHouse/ClickHouse/pull/79418) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un posible bucle infinito al enumerar blobs en el almacenamiento de blobs de Azure/S3. [#79425](https://github.com/ClickHouse/ClickHouse/pull/79425) ([Alexander Gololobov](https://github.com/davenger)).
* Se añadió la configuración de la caché del sistema de archivos `max_size_ratio_to_total_space`. [#79460](https://github.com/ClickHouse/ClickHouse/pull/79460) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Para `clickhouse-benchmark`, se ajustó la opción `reconnect` para que admita 0, 1 o N como valores de reconexión, según corresponda. [#79465](https://github.com/ClickHouse/ClickHouse/pull/79465) ([Sachin Kumar Singh](https://github.com/sachinkumarsingh092)).
* Permitir `ALTER TABLE ... MOVE|REPLACE PARTITION` para tablas en discos `plain_rewritable` distintos. [#79566](https://github.com/ClickHouse/ClickHouse/pull/79566) ([Julia Kartseva](https://github.com/jkartseva)).
* El índice de similitud vectorial ahora también se utiliza si el vector de referencia es de tipo `Array(BFloat16)`. [#79745](https://github.com/ClickHouse/ClickHouse/pull/79745) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se añaden last\_error\_message, last\_error\_trace y query\_id a la tabla system.error\_log. Incidencia relacionada [#75816](https://github.com/ClickHouse/ClickHouse/issues/75816). [#79836](https://github.com/ClickHouse/ClickHouse/pull/79836) ([Andrei Tinikov](https://github.com/Dolso)).
* Se habilita el envío de informes de fallos de forma predeterminada. Esto se puede desactivar en el archivo de configuración del servidor. [#79838](https://github.com/ClickHouse/ClickHouse/pull/79838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La tabla del sistema `system.functions` ahora muestra en qué versión de ClickHouse se introdujo cada función por primera vez. [#79839](https://github.com/ClickHouse/ClickHouse/pull/79839) ([Robert Schulze](https://github.com/rschu1ze)).
* Se añadió la configuración `access_control_improvements.enable_user_name_access_type`. Esta configuración permite habilitar/deshabilitar grants precisos para usuarios/roles, introducidos en [https://github.com/ClickHouse/ClickHouse/pull/72246](https://github.com/ClickHouse/ClickHouse/pull/72246). Puede que le convenga desactivar esta configuración si tiene un clúster con réplicas anteriores a la versión 25.1. [#79842](https://github.com/ClickHouse/ClickHouse/pull/79842) ([pufit](https://github.com/pufit)).
* La implementación adecuada del método `ASTSelectWithUnionQuery::clone()` ahora también tiene en cuenta el campo `is_normalized`. Esto podría ayudar a resolver [#77569](https://github.com/ClickHouse/ClickHouse/issues/77569). [#79909](https://github.com/ClickHouse/ClickHouse/pull/79909) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Corrige el formato inconsistente de ciertas consultas con el operador EXCEPT. Si el lado izquierdo del operador EXCEPT termina en `*`, la consulta formateada pierde los paréntesis y luego se interpreta como un `*` con el modificador `EXCEPT`. Estas consultas las detecta el fuzzer y es poco probable que aparezcan en la práctica. Esto cierra [#79950](https://github.com/ClickHouse/ClickHouse/issues/79950). [#79952](https://github.com/ClickHouse/ClickHouse/pull/79952) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Pequeña mejora en el análisis del tipo `JSON` mediante el uso de una caché con el orden de deserialización de variantes. [#79984](https://github.com/ClickHouse/ClickHouse/pull/79984) ([Pavel Kruglov](https://github.com/Avogar)).
* Añadir la configuración `s3_slow_all_threads_after_network_error`. [#80035](https://github.com/ClickHouse/ClickHouse/pull/80035) ([Vitaly Baranov](https://github.com/vitlibar)).
* El nivel de logging de las partes seleccionadas para la fusión era incorrecto (Information). Cierra [#80061](https://github.com/ClickHouse/ClickHouse/issues/80061). [#80062](https://github.com/ClickHouse/ClickHouse/pull/80062) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* trace-visualizer: añade runtime/share en los tooltips y los mensajes de estado. [#79040](https://github.com/ClickHouse/ClickHouse/pull/79040) ([Sergei Trifonov](https://github.com/serxa)).
* trace-visualizer: cargar datos desde el servidor de ClickHouse. [#79042](https://github.com/ClickHouse/ClickHouse/pull/79042) ([Sergei Trifonov](https://github.com/serxa)).
* Se añaden métricas sobre las fusiones fallidas. [#79228](https://github.com/ClickHouse/ClickHouse/pull/79228) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `clickhouse-benchmark` mostrará el porcentaje en función del número máximo de iteraciones, si se especifica. [#79346](https://github.com/ClickHouse/ClickHouse/pull/79346) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade un visualizador de la tabla system.parts. [#79437](https://github.com/ClickHouse/ClickHouse/pull/79437) ([Sergei Trifonov](https://github.com/serxa)).
* Se añade una herramienta para analizar la latencia de las consultas. [#79978](https://github.com/ClickHouse/ClickHouse/pull/79978) ([Sergei Trifonov](https://github.com/serxa)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Corrige los cambios de nombre de columnas que faltaban en la parte. [#76346](https://github.com/ClickHouse/ClickHouse/pull/76346) ([Anton Popov](https://github.com/CurtizJ)).
* Una vista materializada puede iniciarse demasiado tarde, p. ej., después de la tabla de Kafka que le transmite datos. [#72123](https://github.com/ClickHouse/ClickHouse/pull/72123) ([Ilya Golshtein](https://github.com/ilejn)).
* Se corrigió la reescritura de consultas `SELECT` durante la creación de `VIEW` con el analizador habilitado. Cierra [#75956](https://github.com/ClickHouse/ClickHouse/issues/75956). [#76356](https://github.com/ClickHouse/ClickHouse/pull/76356) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige la aplicación de `async_insert` desde el servidor (mediante `apply_settings_from_server`) (anteriormente provocaba errores de `Unknown packet 11 from server` en el cliente). [#77578](https://github.com/ClickHouse/ClickHouse/pull/77578) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un problema por el que la vista materializada actualizable en una base de datos Replicated no funcionaba en las réplicas recién añadidas. [#77774](https://github.com/ClickHouse/ClickHouse/pull/77774) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigió un problema por el que las vistas materializadas actualizables rompían las copias de seguridad. [#77893](https://github.com/ClickHouse/ClickHouse/pull/77893) ([Michael Kolupaev](https://github.com/al13n321)).
* Corrige un antiguo error lógico que se activaba en `transform`. [#78247](https://github.com/ClickHouse/ClickHouse/pull/78247) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrigen algunos casos en los que el índice secundario no se aplicaba con el analizador. Corrige [#65607](https://github.com/ClickHouse/ClickHouse/issues/65607), corrige [#69373](https://github.com/ClickHouse/ClickHouse/issues/69373). [#78485](https://github.com/ClickHouse/ClickHouse/pull/78485) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige el volcado de eventos de perfil (`NetworkSendElapsedMicroseconds`/`NetworkSendBytes`) para el protocolo HTTP con compresión habilitada (el error no debería ser mayor que el tamaño del búfer, normalmente de alrededor de 1 MiB). [#78516](https://github.com/ClickHouse/ClickHouse/pull/78516) ([Azat Khuzhin](https://github.com/azat)).
* Corrección en el analizador, que producía LOGICAL\_ERROR cuando JOIN ... USING implicaba una columna ALIAS; ahora debería generar el error adecuado. [#78618](https://github.com/ClickHouse/ClickHouse/pull/78618) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige el analizador: CREATE VIEW ... ON CLUSTER falla si SELECT contiene argumentos posicionales. [#78663](https://github.com/ClickHouse/ClickHouse/pull/78663) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrigió el error `Block structure mismatch` al hacer `INSERT SELECT` en una función de tabla con inferencia de esquema si `SELECT` tiene subconsultas escalares. [#78677](https://github.com/ClickHouse/ClickHouse/pull/78677) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige el analizador: con prefer\_global\_in\_and\_join=1, en una consulta SELECT sobre una tabla distribuida, la función `in` debe sustituirse por `globalIn`. [#78749](https://github.com/ClickHouse/ClickHouse/pull/78749) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrigieron varios tipos de consultas `SELECT` que leen de tablas con engine `MongoDB` o la table function `mongodb`: consultas con conversión implícita de un valor constante en la cláusula `WHERE` (p. ej., `WHERE datetime = '2025-03-10 00:00:00'`); consultas con `LIMIT` y `GROUP BY`. Antes, podían devolver resultados incorrectos. [#78777](https://github.com/ClickHouse/ClickHouse/pull/78777) ([Anton Popov](https://github.com/CurtizJ)).
* Corregida la conversión entre distintos tipos JSON. Ahora se realiza mediante un cast simple con conversión a/desde String. Es menos eficaz, pero 100 % exacta. [#78807](https://github.com/ClickHouse/ClickHouse/pull/78807) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un error lógico al convertir el tipo Dynamic a Interval. [#78813](https://github.com/ClickHouse/ClickHouse/pull/78813) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió la reversión de la columna en caso de error al analizar JSON. [#78836](https://github.com/ClickHouse/ClickHouse/pull/78836) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el error 'bad cast' al hacer join con una columna alias constante. [#78848](https://github.com/ClickHouse/ClickHouse/pull/78848) ([Vladimir Cherkasov](https://github.com/vdimir)).
* No se permite `prewhere` en vistas materializadas sobre columnas con tipos distintos en la vista y en la tabla de destino. [#78889](https://github.com/ClickHouse/ClickHouse/pull/78889) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un error lógico al analizar datos binarios incorrectos de una columna Variant. [#78982](https://github.com/ClickHouse/ClickHouse/pull/78982) ([Pavel Kruglov](https://github.com/Avogar)).
* Lanzar una excepción cuando el tamaño del batch de Parquet se establece en 0. Anteriormente, cuando output\_format\_parquet\_batch\_size = 0, ClickHouse se quedaba bloqueado. Ahora, este comportamiento ya se ha corregido. [#78991](https://github.com/ClickHouse/ClickHouse/pull/78991) ([daryawessely](https://github.com/daryawessely)).
* Se corrige la deserialización de los discriminadores de Variant en partes compactas con el formato basic. Se introdujo en [https://github.com/ClickHouse/ClickHouse/pull/55518](https://github.com/ClickHouse/ClickHouse/pull/55518). [#79000](https://github.com/ClickHouse/ClickHouse/pull/79000) ([Pavel Kruglov](https://github.com/Avogar)).
* Los diccionarios de tipo `complex_key_ssd_cache` ahora rechazan los parámetros `block_size` y `write_buffer_size` cuando tienen un valor de cero o negativo (incidencia [#78314](https://github.com/ClickHouse/ClickHouse/issues/78314)). [#79028](https://github.com/ClickHouse/ClickHouse/pull/79028) ([Elmi Ahmadov](https://github.com/ahmadov)).
* No use Field para columnas no agregadas en SummingMergeTree. Podría provocar errores inesperados con tipos Dynamic/Variant utilizados en SummingMergeTree. [#79051](https://github.com/ClickHouse/ClickHouse/pull/79051) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la lectura desde una vista materializada con una tabla de destino Distributed y un encabezado diferente en el analizador. [#79059](https://github.com/ClickHouse/ClickHouse/pull/79059) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un error por el que `arrayUnion()` devolvía valores adicionales (incorrectos) en tablas con inserciones por lotes. Corrige [#75057](https://github.com/ClickHouse/ClickHouse/issues/75057). [#79079](https://github.com/ClickHouse/ClickHouse/pull/79079) ([Peter Nguyen](https://github.com/petern48)).
* Corrige un segfault en `OpenSSLInitializer`. Cierra [#79092](https://github.com/ClickHouse/ClickHouse/issues/79092). [#79097](https://github.com/ClickHouse/ClickHouse/pull/79097) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Establecer siempre un prefijo para S3 ListObject. [#79114](https://github.com/ClickHouse/ClickHouse/pull/79114) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un error por el que arrayUnion() devolvía valores adicionales (incorrectos) en tablas con inserciones en lote. Corrige [#79157](https://github.com/ClickHouse/ClickHouse/issues/79157). [#79158](https://github.com/ClickHouse/ClickHouse/pull/79158) ([Peter Nguyen](https://github.com/petern48)).
* Se corrigió un error lógico tras el pushdown de filtros. [#79164](https://github.com/ClickHouse/ClickHouse/pull/79164) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrige el motor de tabla DeltaLake cuando la implementación delta-kernel se usa con endpoints basados en HTTP; se corrige NOSIGN. Cierra [#78124](https://github.com/ClickHouse/ClickHouse/issues/78124). [#79203](https://github.com/ClickHouse/ClickHouse/pull/79203) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrección de Keeper: evita activar watches en solicitudes múltiples fallidas. [#79247](https://github.com/ClickHouse/ClickHouse/pull/79247) ([Antonio Andelic](https://github.com/antonio2368)).
* Se prohíben los tipos Dynamic y JSON en IN. Con la implementación actual de `IN`, pueden producirse resultados incorrectos. El soporte adecuado de estos tipos en `IN` es complejo y podría implementarse en el futuro. [#79282](https://github.com/ClickHouse/ClickHouse/pull/79282) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la comprobación de rutas duplicadas durante el análisis del tipo JSON. [#79317](https://github.com/ClickHouse/ClickHouse/pull/79317) ([Pavel Kruglov](https://github.com/Avogar)).
* Soluciona problemas de conexión de SecureStreamSocket. [#79383](https://github.com/ClickHouse/ClickHouse/pull/79383) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corregida la carga de discos plain\_rewritable con datos. [#79439](https://github.com/ClickHouse/ClickHouse/pull/79439) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrige un bloqueo durante el descubrimiento dinámico de subcolumnas en partes Wide de MergeTree. [#79466](https://github.com/ClickHouse/ClickHouse/pull/79466) ([Pavel Kruglov](https://github.com/Avogar)).
* Verifique la longitud del nombre de la tabla solo en las consultas CREATE iniciales. No la verifique en los CREATE secundarios para evitar problemas de compatibilidad con versiones anteriores. [#79488](https://github.com/ClickHouse/ClickHouse/pull/79488) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se corrigió el error `Block structure mismatch` en varios casos relacionados con tablas con columnas dispersas. [#79491](https://github.com/ClickHouse/ClickHouse/pull/79491) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigen dos casos de "Logical Error: Can't set alias of \* of Asterisk on alias". [#79505](https://github.com/ClickHouse/ClickHouse/pull/79505) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el uso de rutas incorrectas al renombrar una base de datos Atomic. [#79569](https://github.com/ClickHouse/ClickHouse/pull/79569) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrigió ORDER BY al usar una columna JSON junto con otras columnas. [#79591](https://github.com/ClickHouse/ClickHouse/pull/79591) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la duplicación de resultados al leer en remoto con `use_hedged_requests` y `allow_experimental_parallel_reading_from_replicas` ambos deshabilitados. [#79599](https://github.com/ClickHouse/ClickHouse/pull/79599) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrige un cierre inesperado en la implementación de delta-kernel al usar Unity Catalog. [#79677](https://github.com/ClickHouse/ClickHouse/pull/79677) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Resolver macros en clústeres de autodescubrimiento. [#79696](https://github.com/ClickHouse/ClickHouse/pull/79696) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Gestionar adecuadamente los casos en que page\_cache\_limits esté mal configurado. [#79805](https://github.com/ClickHouse/ClickHouse/pull/79805) ([Bharat Nallan](https://github.com/bharatnc)).
* Corrige el resultado de la función SQL `formatDateTime` si un formateador de tamaño variable (p. ej., `%W`, es decir, el día de la semana `Monday`, `Tuesday`, etc.) va seguido de un formateador compuesto (un formateador que imprime varios componentes a la vez, p. ej., `%D`, es decir, la fecha en formato estadounidense `05/04/25`). [#79835](https://github.com/ClickHouse/ClickHouse/pull/79835) ([Robert Schulze](https://github.com/rschu1ze)).
* IcebergS3 admite la optimización de count, pero IcebergS3Cluster no. Como resultado, el resultado de count() en modo clúster puede ser un múltiplo del número de réplicas. [#79844](https://github.com/ClickHouse/ClickHouse/pull/79844) ([wxybear](https://github.com/wxybear)).
* Corrige el error AMBIGUOUS\_COLUMN\_NAME con la materialización diferida cuando no se utiliza ninguna columna en la ejecución de la consulta hasta la proyección. Ejemplo: SELECT \* FROM t ORDER BY rand() LIMIT 5. [#79926](https://github.com/ClickHouse/ClickHouse/pull/79926) ([Igor Nikonov](https://github.com/devcrafter)).
* Ocultar la contraseña en la consulta `CREATE DATABASE datalake ENGINE = DataLakeCatalog(\'http://catalog:8181\', \'admin\', \'password\')`. [#79941](https://github.com/ClickHouse/ClickHouse/pull/79941) ([Han Fei](https://github.com/hanfei1991)).
* Permite especificar un alias en JOIN USING. Especifique este alias si se cambió el nombre de la columna (p. ej., debido a ARRAY JOIN). Corrige [#73707](https://github.com/ClickHouse/ClickHouse/issues/73707). [#79942](https://github.com/ClickHouse/ClickHouse/pull/79942) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Permitir que las vistas materializadas con UNION funcionen correctamente en las nuevas réplicas. [#80037](https://github.com/ClickHouse/ClickHouse/pull/80037) ([Samay Sharma](https://github.com/samay-sharma)).
* El especificador de formato `%e` en la función SQL `parseDateTime` ahora reconoce días de un solo dígito (p. ej., `3`), mientras que antes requería relleno con espacios (p. ej., ` 3`). Esto hace que su comportamiento sea compatible con MySQL. Para conservar el comportamiento anterior, establezca la opción `parsedatetime_e_requires_space_padding = 1`. (issue [#78243](https://github.com/ClickHouse/ClickHouse/issues/78243)). [#80057](https://github.com/ClickHouse/ClickHouse/pull/80057) ([Robert Schulze](https://github.com/rschu1ze)).
* Soluciona las advertencias `Cannot find 'kernel' in '[...]/memory.stat'` en el registro de ClickHouse (incidencia [#77410](https://github.com/ClickHouse/ClickHouse/issues/77410)). [#80129](https://github.com/ClickHouse/ClickHouse/pull/80129) ([Robert Schulze](https://github.com/rschu1ze)).
* Comprobar el tamaño de la pila en FunctionComparison para evitar un fallo por desbordamiento de pila. [#78208](https://github.com/ClickHouse/ClickHouse/pull/78208) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrige una condición de carrera al hacer `SELECT` en `system.workloads`. [#78743](https://github.com/ClickHouse/ClickHouse/pull/78743) ([Sergei Trifonov](https://github.com/serxa)).
* Corrección: materialización diferida en consultas distribuidas. [#78815](https://github.com/ClickHouse/ClickHouse/pull/78815) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrige la conversión de `Array(Bool)` a `Array(FixedString)`. [#78863](https://github.com/ClickHouse/ClickHouse/pull/78863) ([Nikita Taranov](https://github.com/nickitat)).
* Hacer menos confusa la selección de la versión de Parquet. [#78818](https://github.com/ClickHouse/ClickHouse/pull/78818) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige la autofusión de `ReservoirSampler`. [#79031](https://github.com/ClickHouse/ClickHouse/pull/79031) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige el almacenamiento de la tabla usada para la inserción en el contexto del cliente. [#79046](https://github.com/ClickHouse/ClickHouse/pull/79046) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se corrigió el orden de destrucción de los miembros de datos de `AggregatingSortedAlgorithm` y `SummingSortedAlgorithm`. [#79056](https://github.com/ClickHouse/ClickHouse/pull/79056) ([Nikita Taranov](https://github.com/nickitat)).
* `enable_user_name_access_type` no debe afectar al tipo de acceso `DEFINER`. [#80026](https://github.com/ClickHouse/ClickHouse/pull/80026) ([pufit](https://github.com/pufit)).
* La consulta a la base de datos del sistema puede quedarse colgada si los metadatos de la base de datos del sistema están ubicados en Keeper. [#79304](https://github.com/ClickHouse/ClickHouse/pull/79304) ([Mikhail Artemenko](https://github.com/Michicosun)).

<div id="buildtestingpackaging-improvement">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Hacer posible reutilizar el binario `chcache` ya compilado en lugar de reconstruirlo siempre. [#78851](https://github.com/ClickHouse/ClickHouse/pull/78851) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Añadir espera de pausa para NATS. [#78987](https://github.com/ClickHouse/ClickHouse/pull/78987) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Corrección de la publicación incorrecta de una compilación ARM como amd64compat. [#79122](https://github.com/ClickHouse/ClickHouse/pull/79122) ([Alexander Gololobov](https://github.com/davenger)).
* Usar código ensamblador generado de antemano para OpenSSL. [#79386](https://github.com/ClickHouse/ClickHouse/pull/79386) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Correcciones para permitir la compilación con `clang20`. [#79588](https://github.com/ClickHouse/ClickHouse/pull/79588) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `chcache`: soporte de almacenamiento en caché en Rust. [#78691](https://github.com/ClickHouse/ClickHouse/pull/78691) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Añadir información de desenrollado para los archivos ensambladores de `zstd`. [#79288](https://github.com/ClickHouse/ClickHouse/pull/79288) ([Michael Kolupaev](https://github.com/al13n321)).

<div id="254">
  ### Versión de ClickHouse 25.4, 2025-04-22
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se comprueba si todas las columnas de una vista materializada coinciden con la tabla de destino cuando `allow_materialized_view_with_bad_select` es `false`. [#74481](https://github.com/ClickHouse/ClickHouse/pull/74481) ([Christoph Wurm](https://github.com/cwurm)).
* Se corrigen los casos en los que `dateTrunc` se usa con argumentos Date/DateTime negativos. [#77622](https://github.com/ClickHouse/ClickHouse/pull/77622) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se ha eliminado la integración heredada de `MongoDB`. La configuración del servidor `use_legacy_mongodb_integration` ha quedado obsoleta y ahora no hace nada. [#77895](https://github.com/ClickHouse/ClickHouse/pull/77895) ([Robert Schulze](https://github.com/rschu1ze)).
* Se mejora la validación de `SummingMergeTree` para omitir la agregación de las columnas utilizadas en las claves de partición o de ordenación. [#78022](https://github.com/ClickHouse/ClickHouse/pull/78022) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se añadió la programación de slots de CPU para cargas de trabajo; consulta [la documentación](/es/concepts/features/configuration/server-config/workload-scheduling#cpu_scheduling) para obtener más detalles. [#77595](https://github.com/ClickHouse/ClickHouse/pull/77595) ([Sergei Trifonov](https://github.com/serxa)).
* `clickhouse-local` conservará sus bases de datos tras reiniciarse si se especifica el argumento de línea de comandos `--path`. Esto cierra [#50647](https://github.com/ClickHouse/ClickHouse/issues/50647). Esto cierra [#49947](https://github.com/ClickHouse/ClickHouse/issues/49947). [#71722](https://github.com/ClickHouse/ClickHouse/pull/71722) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Rechazar consultas cuando el servidor esté sobrecargado. La decisión se toma en función de la proporción entre el tiempo de espera (`OSCPUWaitMicroseconds`) y el tiempo de uso (`OSCPUVirtualTimeMicroseconds`). La consulta se rechaza con cierta probabilidad cuando esta proporción está entre `min_os_cpu_wait_time_ratio_to_throw` y `max_os_cpu_wait_time_ratio_to_throw` (son parámetros de configuración a nivel de consulta). [#63206](https://github.com/ClickHouse/ClickHouse/pull/63206) ([Alexey Katsman](https://github.com/alexkats)).
* Viaje en el tiempo en `Iceberg`: añadir una configuración para consultar tablas `Iceberg` a partir de una marca temporal específica. [#71072](https://github.com/ClickHouse/ClickHouse/pull/71072) ([Brett Hoerner](https://github.com/bretthoerner)). [#77439](https://github.com/ClickHouse/ClickHouse/pull/77439) ([Daniil Ivanik](https://github.com/divanik)).
* Una caché en memoria para los metadatos de `Iceberg`, que almacena archivos de manifiesto/listas de manifiestos y `metadata.json` para acelerar las consultas. [#77156](https://github.com/ClickHouse/ClickHouse/pull/77156) ([Han Fei](https://github.com/hanfei1991)).
* Se añade compatibilidad con el motor de tabla `DeltaLake` para Azure Blob Storage. Corrige [#68043](https://github.com/ClickHouse/ClickHouse/issues/68043). [#74541](https://github.com/ClickHouse/ClickHouse/pull/74541) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se añadió una caché en memoria para vector similarity indexes deserializados. Esto debería acelerar las consultas repetidas de búsqueda aproximada de vecinos más cercanos (ANN). El tamaño de la nueva caché se controla mediante los server settings `vector_similarity_index_cache_size` y `vector_similarity_index_cache_max_entries`. Esta funcionalidad sustituye a la caché de skipping index de versiones anteriores. [#77905](https://github.com/ClickHouse/ClickHouse/pull/77905) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Compatibilidad con la poda de particiones en DeltaLake. [#78486](https://github.com/ClickHouse/ClickHouse/pull/78486) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Soporte para una actualización en segundo plano en tablas `MergeTree` de solo lectura, lo que permite consultar tablas actualizables con un número ilimitado de lectores distribuidos (lago de datos nativo de ClickHouse). [#76467](https://github.com/ClickHouse/ClickHouse/pull/76467) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se admite el uso de discos personalizados para almacenar archivos de metadatos de las bases de datos. Por ahora, solo puede configurarse a nivel global del servidor. [#77365](https://github.com/ClickHouse/ClickHouse/pull/77365) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se admite ALTER TABLE ... ATTACH|DETACH|MOVE|REPLACE PARTITION para el disco plain\_rewritable. [#77406](https://github.com/ClickHouse/ClickHouse/pull/77406) ([Julia Kartseva](https://github.com/jkartseva)).
* Se añaden ajustes de tabla para la configuración de `SASL` y las credenciales al motor de tabla `Kafka`. Esto permite configurar la autenticación basada en SASL para Kafka y sistemas compatibles con Kafka directamente en la instrucción CREATE TABLE, en lugar de tener que usar archivos de configuración o colecciones nombradas. [#78810](https://github.com/ClickHouse/ClickHouse/pull/78810) ([Christoph Wurm](https://github.com/cwurm)).
* Permite configurar `default_compression_codec` para las tablas MergeTree: se usa cuando la consulta CREATE no define explícitamente ninguno para las columnas indicadas. Esto cierra [#42005](https://github.com/ClickHouse/ClickHouse/issues/42005). [#66394](https://github.com/ClickHouse/ClickHouse/pull/66394) ([gvoelfin](https://github.com/gvoelfin)).
* Se añadió la opción `bind_host` a la configuración de clústeres para que ClickHouse pueda usar una red específica para las conexiones distribuidas. [#74741](https://github.com/ClickHouse/ClickHouse/pull/74741) ([Todd Yocum](https://github.com/toddyocum)).
* Se introduce una nueva columna, `parametrized_view_parameters`, en `system.tables`. Cierra [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)).
* Permite cambiar el comentario de una base de datos. Cierra [#73351](https://github.com/ClickHouse/ClickHouse/issues/73351) ### Entrada de documentación para cambios visibles para el usuario. [#75622](https://github.com/ClickHouse/ClickHouse/pull/75622) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Se admite la autenticación `SCRAM-SHA-256` en el protocolo de compatibilidad con PostgreSQL. [#76839](https://github.com/ClickHouse/ClickHouse/pull/76839) ([scanhex12](https://github.com/scanhex12)).
* Se añaden las funciones `arrayLevenshteinDistance`, `arrayLevenshteinDistanceWeighted` y `arraySimilarity`. [#77187](https://github.com/ClickHouse/ClickHouse/pull/77187) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* La configuración `parallel_distributed_insert_select` se aplica a `INSERT SELECT` en `ReplicatedMergeTree` (anteriormente requería tablas `Distribued`). [#78041](https://github.com/ClickHouse/ClickHouse/pull/78041) ([Igor Nikonov](https://github.com/devcrafter)).
* Se introduce la función `toInterval`. Esta función acepta 2 argumentos (valor y unidad) y convierte el valor en un tipo `Interval` específico. [#78723](https://github.com/ClickHouse/ClickHouse/pull/78723) ([Andrew Davis](https://github.com/pulpdrew)).
* Se añaden varias formas prácticas de resolver el archivo raíz `metadata.json` en una función de tabla y un motor de Iceberg. Cierra [#78455](https://github.com/ClickHouse/ClickHouse/issues/78455). [#78475](https://github.com/ClickHouse/ClickHouse/pull/78475) ([Daniil Ivanik](https://github.com/divanik)).
* Se admite la autenticación basada en contraseña en el protocolo SSH en ClickHouse. [#78586](https://github.com/ClickHouse/ClickHouse/pull/78586) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se admiten subconsultas correlacionadas como argumento de la expresión `EXISTS` en la cláusula `WHERE`. Cierra [#72459](https://github.com/ClickHouse/ClickHouse/issues/72459). [#76078](https://github.com/ClickHouse/ClickHouse/pull/76078) ([Dmitry Novik](https://github.com/novikd)).
* Se añadieron las funciones `sparseGrams` y `sparseGramsHashes` con versiones ASCII y UTF8. Autor: [scanhex12](https://github.com/scanhex12). [#78176](https://github.com/ClickHouse/ClickHouse/pull/78176) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)). No las use: la implementación cambiará en las próximas versiones.

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Optimiza el rendimiento con columnas diferidas, que leen los datos después de aplicar ORDER BY y LIMIT. [#55518](https://github.com/ClickHouse/ClickHouse/pull/55518) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Se habilitó por defecto la caché de condiciones de consulta. [#79080](https://github.com/ClickHouse/ClickHouse/pull/79080) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se acelera la generación del resultado de JOIN al desvirtualizar las llamadas a `col->insertFrom()`. [#77350](https://github.com/ClickHouse/ClickHouse/pull/77350) ([Alexander Gololobov](https://github.com/davenger)).
* Combinar, si es posible, las condiciones de igualdad del paso de filtro del plan de consulta con la condición de JOIN para poder usarlas como claves de la tabla hash. [#78877](https://github.com/ClickHouse/ClickHouse/pull/78877) ([Dmitry Novik](https://github.com/novikd)).
* Use la segmentación dinámica para JOIN si la clave de JOIN es un prefijo de la PK en ambas partes. Esta optimización se habilita con la configuración `query_plan_join_shard_by_pk_ranges` (deshabilitada de forma predeterminada). [#74733](https://github.com/ClickHouse/ClickHouse/pull/74733) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se añade compatibilidad con la poda de datos de `Iceberg` basada en los valores de límite inferior y superior de las columnas. Corrige [#77638](https://github.com/ClickHouse/ClickHouse/issues/77638). [#78242](https://github.com/ClickHouse/ClickHouse/pull/78242) ([alesapin](https://github.com/alesapin)).
* Se implementó una optimización trivial del conteo para `Iceberg`. Ahora, las consultas con `count()` y sin filtros deberían ser más rápidas. Cierra [#77639](https://github.com/ClickHouse/ClickHouse/issues/77639). [#78090](https://github.com/ClickHouse/ClickHouse/pull/78090) ([alesapin](https://github.com/alesapin)).
* Se añade la posibilidad de configurar el número de columnas que las fusiones pueden escribir en paralelo mediante `max_merge_delayed_streams_for_parallel_write` (esto debería reducir unas 25 veces el uso de memoria de las fusiones verticales hacia S3). [#77922](https://github.com/ClickHouse/ClickHouse/pull/77922) ([Azat Khuzhin](https://github.com/azat)).
* Deshabilita `filesystem_cache_prefer_bigger_buffer_size` cuando la caché se utilice de forma pasiva, por ejemplo, en las fusiones. Esto reduce el consumo de memoria durante las fusiones. [#77898](https://github.com/ClickHouse/ClickHouse/pull/77898) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ahora usamos el número de réplicas para determinar el tamaño de las tareas de lectura cuando las réplicas paralelas están habilitadas. Esto permite una mejor distribución del trabajo entre las réplicas cuando la cantidad de datos que se va a leer no es demasiado grande. [#78695](https://github.com/ClickHouse/ClickHouse/pull/78695) ([Nikita Taranov](https://github.com/nickitat)).
* Se admite la precarga de E/S asíncrona para el formato `ORC`, lo que mejora el rendimiento general al ocultar la latencia de E/S remota. [#70534](https://github.com/ClickHouse/ClickHouse/pull/70534) ([李扬](https://github.com/taiyang-li)).
* Preasignar la memoria utilizada por las inserciones asincrónicas para mejorar el rendimiento. [#74945](https://github.com/ClickHouse/ClickHouse/pull/74945) ([Ilya Golshtein](https://github.com/ilejn)).
* Reduce la cantidad de solicitudes a Keeper eliminando el uso de solicitudes `get` individuales, que podrían haber causado una carga significativa en Keeper al aumentar el número de réplicas, en los casos en que `multiRead` está disponible. [#56862](https://github.com/ClickHouse/ClickHouse/pull/56862) ([Nikolay Degterinsky](https://github.com/evillique)).
* Una optimización marginal para ejecutar funciones con argumentos Nullable. [#76489](https://github.com/ClickHouse/ClickHouse/pull/76489) ([李扬](https://github.com/taiyang-li)).
* Se optimiza `arraySort`. [#76850](https://github.com/ClickHouse/ClickHouse/pull/76850) ([李扬](https://github.com/taiyang-li)).
* Fusiona las marcas de la misma parte y las escribe en la caché de condiciones de consulta en una sola operación para reducir el uso de bloqueos. [#77377](https://github.com/ClickHouse/ClickHouse/pull/77377) ([zhongyuankai](https://github.com/zhongyuankai)).
* Optimiza el rendimiento de `s3Cluster` para consultas con una sola expansión entre corchetes. [#77686](https://github.com/ClickHouse/ClickHouse/pull/77686) ([Tomáš Hromada](https://github.com/gyfis)).
* Optimiza ORDER BY en columnas Nullable o LowCardinality individuales. [#77789](https://github.com/ClickHouse/ClickHouse/pull/77789) ([李扬](https://github.com/taiyang-li)).
* Se optimiza el uso de memoria del formato `Native`. [#78442](https://github.com/ClickHouse/ClickHouse/pull/78442) ([Azat Khuzhin](https://github.com/azat)).
* Optimización trivial: no reescribir `count(if(...))` como `countIf` si se requiere una conversión de tipo. Cierra [#78564](https://github.com/ClickHouse/ClickHouse/issues/78564). [#78565](https://github.com/ClickHouse/ClickHouse/pull/78565) ([李扬](https://github.com/taiyang-li)).
* La función `hasAll` ahora puede aprovechar los índices de omisión para texto completo `tokenbf_v1` y `ngrambf_v1`. [#77662](https://github.com/ClickHouse/ClickHouse/pull/77662) ([UnamedRus](https://github.com/UnamedRus)).
* El índice de similitud vectorial podía sobreasignar la memoria principal hasta en 2x. Esta corrección replantea la estrategia de asignación de memoria, reduce el consumo de memoria y mejora la eficacia de la caché del índice de similitud vectorial. (problema [#78056](https://github.com/ClickHouse/ClickHouse/issues/78056)). [#78394](https://github.com/ClickHouse/ClickHouse/pull/78394) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se introduce la configuración `schema_type` para la tabla `system.metric_log` con el tipo de esquema. Hay tres esquemas permitidos: `wide` -- el esquema actual, con cada métrica/evento en una columna independiente (lo más eficaz para leer columnas por separado); `transposed` -- similar a `system.asynchronous_metric_log`, donde las métricas/eventos se almacenan como filas; y, lo más interesante, `transposed_with_wide_view` -- crea una tabla subyacente con esquema `transposed`, pero también introduce una vista con esquema `wide` que traduce las consultas a la tabla subyacente. En `transposed_with_wide_view` no se admite resolución de subsegundos en la vista; `event_time_microseconds` es solo un alias para mantener la compatibilidad con versiones anteriores. [#78412](https://github.com/ClickHouse/ClickHouse/pull/78412) ([alesapin](https://github.com/alesapin)).

<div id="improvement">
  #### Mejora
</div>

* Serialización del plan de consulta para consultas `Distributed`. Se añade una nueva opción de configuración, `serialize_query_plan`. Cuando está habilitada, las consultas de la tabla `Distributed` utilizarán un plan de consulta serializado para la ejecución remota de consultas. Esto introduce un nuevo tipo de paquete en el protocolo TCP; se debe añadir `<process_query_plan_packet>true</process_query_plan_packet>` a la configuración del servidor para permitir procesar este paquete. [#69652](https://github.com/ClickHouse/ClickHouse/pull/69652) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Compatibilidad con el tipo `JSON` y la lectura de subcolumnas desde vistas. [#76903](https://github.com/ClickHouse/ClickHouse/pull/76903) ([Pavel Kruglov](https://github.com/Avogar)).
* Compatibilidad con ALTER DATABASE ... ON CLUSTER. [#79242](https://github.com/ClickHouse/ClickHouse/pull/79242) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Las actualizaciones de las vistas materializadas actualizables ahora se muestran en `system.query_log`. [#71333](https://github.com/ClickHouse/ClickHouse/pull/71333) ([Michael Kolupaev](https://github.com/al13n321)).
* Las funciones definidas por el usuario (UDFs) ahora pueden marcarse como deterministas mediante una nueva opción en su configuración. Además, la caché de consultas ahora comprueba si las UDFs invocadas dentro de una consulta son deterministas. Si es así, almacena en caché el resultado de la consulta. (Issue [#59988](https://github.com/ClickHouse/ClickHouse/issues/59988)). [#77769](https://github.com/ClickHouse/ClickHouse/pull/77769) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Se habilitó una lógica de backoff para todos los tipos de tareas replicadas. Esto permitirá reducir el uso de CPU, el uso de memoria y el tamaño de los archivos de registro. Se añadieron nuevos ajustes: `max_postpone_time_for_failed_replicated_fetches_ms`, `max_postpone_time_for_failed_replicated_merges_ms` y `max_postpone_time_for_failed_replicated_tasks_ms`, que son similares a `max_postpone_time_for_failed_mutations_ms`. [#74576](https://github.com/ClickHouse/ClickHouse/pull/74576) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Agregar `query_id` a `system.errors`. Cierra [#75815](https://github.com/ClickHouse/ClickHouse/issues/75815). [#76581](https://github.com/ClickHouse/ClickHouse/pull/76581) ([Vladimir Baikov](https://github.com/bkvvldmr)).
* Se añade compatibilidad para convertir `UInt128` en `IPv6`. Esto permite la operación `bitAnd` y las operaciones aritméticas con `IPv6`, así como la conversión de nuevo a `IPv6`. Cierra [#76752](https://github.com/ClickHouse/ClickHouse/issues/76752). Esto también permite convertir de nuevo a `IPv6` el resultado de la operación `bitAnd` sobre `IPv6`. Véase también [#57707](https://github.com/ClickHouse/ClickHouse/pull/57707). [#76928](https://github.com/ClickHouse/ClickHouse/pull/76928) ([Muzammil Abdul Rehman](https://github.com/muzammilar)).
* No se interpretan de forma predeterminada los valores especiales de `Bool` en formatos de texto dentro del tipo `Variant`. Se puede habilitar con la configuración `allow_special_bool_values_inside_variant`. [#76974](https://github.com/ClickHouse/ClickHouse/pull/76974) ([Pavel Kruglov](https://github.com/Avogar)).
* Se admite un tiempo de espera configurable por tarea para consultas de baja `priority`, tanto a nivel de sesión como de servidor. [#77013](https://github.com/ClickHouse/ClickHouse/pull/77013) ([VicoWu](https://github.com/VicoWu)).
* Se implementó la comparación de valores del tipo de dato JSON. Ahora los objetos JSON pueden compararse de forma similar a los Map. [#77397](https://github.com/ClickHouse/ClickHouse/pull/77397) ([Pavel Kruglov](https://github.com/Avogar)).
* Mejor soporte de permisos en `system.kafka_consumers`. Se reenvían los errores internos de `librdkafka` (cabe señalar que esta biblioteca es una porquería). [#77700](https://github.com/ClickHouse/ClickHouse/pull/77700) ([Ilya Golshtein](https://github.com/ilejn)).
* Se añadió validación de la configuración del motor de tabla Buffer. [#77840](https://github.com/ClickHouse/ClickHouse/pull/77840) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se añade la configuración `enable_hdfs_pread` para habilitar o deshabilitar `pread` en `HDFS`. [#77885](https://github.com/ClickHouse/ClickHouse/pull/77885) ([kevinyhzou](https://github.com/KevinyhZou)).
* Añadir eventos de perfil para el número de solicitudes `multi` de lectura y escritura de ZooKeeper. [#77888](https://github.com/ClickHouse/ClickHouse/pull/77888) ([JackyWoo](https://github.com/JackyWoo)).
* Permitir crear e insertar en tablas temporales cuando `disable_insertion_and_mutation` está activado. [#77901](https://github.com/ClickHouse/ClickHouse/pull/77901) ([Xu Jia](https://github.com/XuJia0210)).
* Se redujo `max_insert_delayed_streams_for_parallel_write` (a 100). [#77919](https://github.com/ClickHouse/ClickHouse/pull/77919) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la interpretación del año en la sintaxis Joda (esto viene del mundo de Java, por si te lo preguntabas), por ejemplo `yyy`. [#77973](https://github.com/ClickHouse/ClickHouse/pull/77973) ([李扬](https://github.com/taiyang-li)).
* La adjunción de partes de tablas `MergeTree` se realizará en el orden de sus bloques, lo que es importante para algoritmos especiales de combinación, como `ReplacingMergeTree`. Esto cierra [#71009](https://github.com/ClickHouse/ClickHouse/issues/71009). [#77976](https://github.com/ClickHouse/ClickHouse/pull/77976) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las reglas de enmascaramiento de consultas ahora pueden lanzar un `LOGICAL_ERROR` si se produce una coincidencia. Esto ayudará a comprobar si una contraseña predefinida se está filtrando en algún lugar de los logs. [#78094](https://github.com/ClickHouse/ClickHouse/pull/78094) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añadió la columna `index_length_column` a `information_schema.tables` para mejorar la compatibilidad con MySQL. [#78119](https://github.com/ClickHouse/ClickHouse/pull/78119) ([Paweł Zakrzewski](https://github.com/KrzaQ)).
* Se introducen dos nuevas métricas: `TotalMergeFailures` y `NonAbortedMergeFailures`. Estas métricas son necesarias para detectar los casos en los que fallan demasiadas operaciones de merge en un período corto. [#78150](https://github.com/ClickHouse/ClickHouse/pull/78150) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se corrigió el análisis incorrecto de la URL de S3 cuando no se especifica la clave en el estilo de ruta. [#78185](https://github.com/ClickHouse/ClickHouse/pull/78185) ([Arthur Passos](https://github.com/arthurpassos)).
* Corrige los valores incorrectos de las métricas asíncronas `BlockActiveTime`, `BlockDiscardTime`, `BlockWriteTime`, `BlockQueueTime` y `BlockReadTime` (antes del cambio, se informaba incorrectamente que 1 segundo era 0.001). [#78211](https://github.com/ClickHouse/ClickHouse/pull/78211) ([filimonov](https://github.com/filimonov)).
* Se respeta el límite de `loading_retries` para los errores durante el envío a la vista materializada de StorageS3(Azure)Queue. Antes, esos errores se reintentaban indefinidamente. [#78313](https://github.com/ClickHouse/ClickHouse/pull/78313) ([Kseniia Sumarokova](https://github.com/kssenii)).
* En DeltaLake con la implementación `delta-kernel-rs`, se corrigen el rendimiento y la barra de progreso. [#78368](https://github.com/ClickHouse/ClickHouse/pull/78368) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Admite `include`, `from_env` y `from_zk` para discos de runtime. Cierra [#78177](https://github.com/ClickHouse/ClickHouse/issues/78177). [#78470](https://github.com/ClickHouse/ClickHouse/pull/78470) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Añade una advertencia dinámica a la tabla `system.warnings` para las mutaciones de larga duración. [#78658](https://github.com/ClickHouse/ClickHouse/pull/78658) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añadió el campo `condition` a la tabla del sistema `system.query_condition_cache`. Almacena la condición en texto sin formato cuyo hash se utiliza como clave en la caché de condiciones de consulta. [#78671](https://github.com/ClickHouse/ClickHouse/pull/78671) ([Robert Schulze](https://github.com/rschu1ze)).
* Se permite un valor vacío para el particionado de Hive. [#78816](https://github.com/ClickHouse/ClickHouse/pull/78816) ([Arthur Passos](https://github.com/arthurpassos)).
* Corrige la coerción de tipos en la cláusula `IN` para `BFloat16` (es decir, `SELECT toBFloat16(1) IN [1, 2, 3];` ahora devuelve `1`). Cierra [#78754](https://github.com/ClickHouse/ClickHouse/issues/78754). [#78839](https://github.com/ClickHouse/ClickHouse/pull/78839) ([Raufs Dunamalijevs](https://github.com/rienath)).
* No compruebe las partes de `MergeTree` en otros discos si se establece `disk = ...`. [#78855](https://github.com/ClickHouse/ClickHouse/pull/78855) ([Azat Khuzhin](https://github.com/azat)).
* Registrar los tipos de datos de `used_data_type_families` en `system.query_log` con nombres canónicos. [#78972](https://github.com/ClickHouse/ClickHouse/pull/78972) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se limpiaron los ajustes durante `recoverLostReplica`, igual que se hizo en [#78637](https://github.com/ClickHouse/ClickHouse/pull/78637). [#79113](https://github.com/ClickHouse/ClickHouse/pull/79113) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Usar columnas de inserción para la inferencia de esquemas de INFILE. [#78490](https://github.com/ClickHouse/ClickHouse/pull/78490) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Corrige el análisis incorrecto de proyecciones cuando se usa `count(Nullable)` en proyecciones agregadas. Esto corrige [#74495](https://github.com/ClickHouse/ClickHouse/issues/74495) . Este PR también añade algunos logs relacionados con el análisis de proyecciones para aclarar por qué se usa una proyección o por qué no se usa. [#74498](https://github.com/ClickHouse/ClickHouse/pull/74498) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió `Part <...> does not contain in snapshot of previous virtual parts. (PART_IS_TEMPORARILY_LOCKED)` durante `DETACH PART`. [#76039](https://github.com/ClickHouse/ClickHouse/pull/76039) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Se corrige el problema de los índices de omisión que no funcionaban con expresiones que contienen literales en el analizador, y se eliminan las conversiones de tipo triviales durante el análisis de índices. [#77229](https://github.com/ClickHouse/ClickHouse/pull/77229) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un error por el que el parámetro de consulta `close_session` no surtía efecto, lo que hacía que las sesiones con nombre solo se cerraran después de `session_timeout`. [#77336](https://github.com/ClickHouse/ClickHouse/pull/77336) ([Alexey Katsman](https://github.com/alexkats)).
* Se corrigió la recepción de mensajes desde el servidor NATS sin vistas materializadas asociadas. [#77392](https://github.com/ClickHouse/ClickHouse/pull/77392) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Corrige un error lógico al leer desde `FileLog` vacío mediante la función de tabla `merge`, cierra [#75575](https://github.com/ClickHouse/ClickHouse/issues/75575). [#77441](https://github.com/ClickHouse/ClickHouse/pull/77441) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Usar la configuración de formato predeterminada en la serialización `Dynamic` de variant compartida. [#77572](https://github.com/ClickHouse/ClickHouse/pull/77572) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige la verificación de si la ruta de datos de la tabla existe en el disco local. [#77608](https://github.com/ClickHouse/ClickHouse/pull/77608) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se corrigió el envío de valores constantes al servidor remoto para algunos tipos. [#77634](https://github.com/ClickHouse/ClickHouse/pull/77634) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un fallo provocado por un Context caducado en S3/AzureQueue. [#77720](https://github.com/ClickHouse/ClickHouse/pull/77720) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Oculta las credenciales en los motores de tabla RabbitMQ, Nats, Redis y AzureQueue. [#77755](https://github.com/ClickHouse/ClickHouse/pull/77755) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el comportamiento no definido en la comparación con `NaN` en `argMin`/`argMax`. [#77756](https://github.com/ClickHouse/ClickHouse/pull/77756) ([Raúl Marín](https://github.com/Algunenano)).
* Comprobar periódicamente si las fusiones y mutaciones se cancelaron, incluso en los casos en que la operación no produce ningún bloque que escribir. [#77766](https://github.com/ClickHouse/ClickHouse/pull/77766) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se corrigió un problema por el que la vista materializada actualizable en una base de datos Replicated no funcionaba en las réplicas recién añadidas. [#77774](https://github.com/ClickHouse/ClickHouse/pull/77774) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige un posible cierre inesperado cuando se produce el error `NOT_FOUND_COLUMN_IN_BLOCK`. [#77854](https://github.com/ClickHouse/ClickHouse/pull/77854) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrige un fallo que se produce en S3/AzureQueue durante el rellenado de datos. [#77878](https://github.com/ClickHouse/ClickHouse/pull/77878) ([Bharat Nallan](https://github.com/bharatnc)).
* Deshabilitar la búsqueda difusa del historial en el servidor SSH (ya que requiere la biblioteca skim). [#78002](https://github.com/ClickHouse/ClickHouse/pull/78002) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un error por el que una consulta de búsqueda vectorial en una columna sin índice devolvía resultados incorrectos si había otra columna vectorial en la tabla que tenía definido un índice de similitud vectorial. (Incidencia [#77978](https://github.com/ClickHouse/ClickHouse/issues/77978)). [#78069](https://github.com/ClickHouse/ClickHouse/pull/78069) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se corrige un error menor en el mensaje "El formato de salida solicitado {} es binario... ¿Quiere mostrarlo de todos modos? \[y/N]". [#78095](https://github.com/ClickHouse/ClickHouse/pull/78095) ([Azat Khuzhin](https://github.com/azat)).
* Corrección de un error en `toStartOfInterval` cuando el argumento de origen es cero. [#78096](https://github.com/ClickHouse/ClickHouse/pull/78096) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se prohíbe especificar un parámetro de consulta `session_id` vacío en la interfaz HTTP. [#78098](https://github.com/ClickHouse/ClickHouse/pull/78098) ([Alexey Katsman](https://github.com/alexkats)).
* Se corrige una sobrescritura de metadatos en la base de datos `Replicated` que podría haberse producido debido a una consulta `RENAME` ejecutada justo después de una consulta `ALTER`. [#78107](https://github.com/ClickHouse/ClickHouse/pull/78107) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió un fallo en el engine `NATS`. [#78108](https://github.com/ClickHouse/ClickHouse/pull/78108) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* No intente crear history\_file en el cliente embebido de SSH (en versiones anteriores, la creación siempre fallaba, aunque se intentaba). [#78112](https://github.com/ClickHouse/ClickHouse/pull/78112) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige `system.detached_tables`, que mostraba información incorrecta tras las consultas `RENAME DATABASE` o `DROP TABLE`. [#78126](https://github.com/ClickHouse/ClickHouse/pull/78126) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrección de las comprobaciones por demasiadas tablas en la base de datos `Replicated` tras [#77274](https://github.com/ClickHouse/ClickHouse/pull/77274). Además, la comprobación se realiza antes de crear el almacenamiento para evitar la creación de nodos no contabilizados en Keeper en el caso de `ReplicatedMergeTree` o `KeeperMap`. [#78127](https://github.com/ClickHouse/ClickHouse/pull/78127) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige un posible cierre inesperado debido a la inicialización concurrente de los metadatos de `S3Queue`. [#78131](https://github.com/ClickHouse/ClickHouse/pull/78131) ([Azat Khuzhin](https://github.com/azat)).
* Las funciones `groupArray*` ahora generan el error `BAD_ARGUMENTS` cuando el argumento `max_size` tiene el valor 0 de tipo Int, como ya ocurría con UInt, en lugar de intentar ejecutarse con él. [#78140](https://github.com/ClickHouse/ClickHouse/pull/78140) ([Eduard Karacharov](https://github.com/korowa)).
* Evita un fallo al recuperar una réplica perdida si la tabla local se elimina antes de desacoplarla. [#78173](https://github.com/ClickHouse/ClickHouse/pull/78173) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige que la columna "alterable" de `system.s3_queue_settings` devolviera siempre `false`. [#78187](https://github.com/ClickHouse/ClickHouse/pull/78187) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ocultar la firma de acceso de Azure para que no sea visible para el usuario ni en los logs. [#78189](https://github.com/ClickHouse/ClickHouse/pull/78189) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la precarga de subflujos con prefijos en partes Wide. [#78205](https://github.com/ClickHouse/ClickHouse/pull/78205) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigieron bloqueos y resultados incorrectos en `mapFromArrays` cuando el array de claves es de tipo `LowCardinality(Nullable)`. [#78240](https://github.com/ClickHouse/ClickHouse/pull/78240) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrigen las opciones de autenticación de delta-kernel-rs. [#78255](https://github.com/ClickHouse/ClickHouse/pull/78255) ([Kseniia Sumarokova](https://github.com/kssenii)).
* No programar tareas de vistas materializadas actualizables cuando `disable_insertion_and_mutation` de una réplica sea true. Una tarea implica alguna inserción y fallará si `disable_insertion_and_mutation` es true. [#78277](https://github.com/ClickHouse/ClickHouse/pull/78277) ([Xu Jia](https://github.com/XuJia0210)).
* Validar el acceso a las tablas subyacentes del motor `Merge`. [#78339](https://github.com/ClickHouse/ClickHouse/pull/78339) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* El modificador `FINAL` puede omitirse al consultar una tabla `Distributed`. [#78428](https://github.com/ClickHouse/ClickHouse/pull/78428) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* `bitmapMin` devuelve uint32\_max cuando el bitmap está vacío (y uint64\_max cuando el tipo de entrada es mayor), lo que coincide con el comportamiento del valor mínimo de un roaring\_bitmap vacío. [#78444](https://github.com/ClickHouse/ClickHouse/pull/78444) ([wxybear](https://github.com/wxybear)).
* Se deshabilita la paralelización del procesamiento de consultas justo después de leer FROM cuando `distributed_aggregation_memory_efficient` está habilitado, ya que puede provocar un error lógico. Cierra [#76934](https://github.com/ClickHouse/ClickHouse/issues/76934). [#78500](https://github.com/ClickHouse/ClickHouse/pull/78500) ([flynn](https://github.com/ucasfl)).
* Se establece al menos un flujo de lectura en caso de que no haya ningún flujo planificado tras aplicar la configuración `max_streams_to_max_threads_ratio`. [#78505](https://github.com/ClickHouse/ClickHouse/pull/78505) ([Eduard Karacharov](https://github.com/korowa)).
* En el motor de almacenamiento `S3Queue`, se corrige el error lógico "Cannot unregister: table uuid is not registered". Cierra [#78285](https://github.com/ClickHouse/ClickHouse/issues/78285). [#78541](https://github.com/ClickHouse/ClickHouse/pull/78541) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ClickHouse ahora puede detectar su cgroup v2 en sistemas con cgroups v1 y v2 habilitados. [#78566](https://github.com/ClickHouse/ClickHouse/pull/78566) ([Grigory Korolev](https://github.com/gkorolev)).
* Las funciones de tabla `-Cluster` fallaban cuando se usaban con ajustes a nivel de tabla. [#78587](https://github.com/ClickHouse/ClickHouse/pull/78587) ([Daniil Ivanik](https://github.com/divanik)).
* Validaciones mejoradas cuando ReplicatedMergeTree no admite transacciones en INSERT. [#78633](https://github.com/ClickHouse/ClickHouse/pull/78633) ([Azat Khuzhin](https://github.com/azat)).
* Limpieza de los ajustes de la consulta durante attach. [#78637](https://github.com/ClickHouse/ClickHouse/pull/78637) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrigió un bloqueo al especificar una ruta no válida en `iceberg_metadata_file_path`. [#78688](https://github.com/ClickHouse/ClickHouse/pull/78688) ([alesapin](https://github.com/alesapin)).
* En el motor de tabla `DeltaLake` con la implementación delta-kernel-s, se corrige el caso en que el esquema de lectura difiere del esquema de la tabla y, al mismo tiempo, hay columnas de partición, lo que provoca un error de "columna no encontrada". [#78690](https://github.com/ClickHouse/ClickHouse/pull/78690) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un problema por el que, tras programar el cierre de una sesión con nombre (pero antes de que expirara el `timeout`), al crear una nueva sesión con el mismo nombre, esta se cerraba en el momento previsto para el cierre de la primera sesión. [#78698](https://github.com/ClickHouse/ClickHouse/pull/78698) ([Alexey Katsman](https://github.com/alexkats)).
* Se corrigieron varios tipos de consultas `SELECT` que leen de tablas con motor `MongoDB` o la función de tabla `mongodb`: consultas con conversión implícita de un valor constante en la cláusula `WHERE` (p. ej., `WHERE datetime = '2025-03-10 00:00:00'`); consultas con `LIMIT` y `GROUP BY`. Anteriormente, podían devolver resultados incorrectos. [#78777](https://github.com/ClickHouse/ClickHouse/pull/78777) ([Anton Popov](https://github.com/CurtizJ)).
* No bloquear el cierre de la tabla al ejecutar `CHECK TABLE`. [#78782](https://github.com/ClickHouse/ClickHouse/pull/78782) ([Raúl Marín](https://github.com/Algunenano)).
* Corrección en Keeper: se corrige el recuento de elementos efímeros en todos los casos. [#78799](https://github.com/ClickHouse/ClickHouse/pull/78799) ([Antonio Andelic](https://github.com/antonio2368)).
* Soluciona una conversión de tipo incorrecta en `StorageDistributed` al usar funciones de tabla distintas de `view`. Cierra [#78464](https://github.com/ClickHouse/ClickHouse/issues/78464). [#78828](https://github.com/ClickHouse/ClickHouse/pull/78828) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige la consistencia del formato de `tupleElement(*, 1)`. Cierra [#78639](https://github.com/ClickHouse/ClickHouse/issues/78639). [#78832](https://github.com/ClickHouse/ClickHouse/pull/78832) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Los diccionarios de tipo `ssd_cache` ahora rechazan los parámetros `block_size` y `write_buffer_size` cuando tienen un valor cero o negativo (incidencia [#78314](https://github.com/ClickHouse/ClickHouse/issues/78314)). [#78854](https://github.com/ClickHouse/ClickHouse/pull/78854) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Corrige el fallo en una vista materializada actualizable en el caso de ALTER tras un apagado incorrecto. [#78858](https://github.com/ClickHouse/ClickHouse/pull/78858) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el procesamiento de valores `DateTime` no válidos en formato `CSV`. [#78919](https://github.com/ClickHouse/ClickHouse/pull/78919) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrección de Keeper: evitar activar watches en solicitudes múltiples fallidas. [#79247](https://github.com/ClickHouse/ClickHouse/pull/79247) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió un fallo en la lectura de una tabla Iceberg cuando el valor mín.-máx. se especificaba explícitamente, pero era `NULL`. Se observó que la biblioteca Iceberg de Go generaba archivos así de atroces. Cierra [#78740](https://github.com/ClickHouse/ClickHouse/issues/78740). [#78764](https://github.com/ClickHouse/ClickHouse/pull/78764) ([flynn](https://github.com/ucasfl)).

#### Mejora de compilación/pruebas/empaquetado

* Respetar las características de destino de la CPU en Rust y habilitar LTO en todos los crates. [#78590](https://github.com/ClickHouse/ClickHouse/pull/78590) ([Raúl Marín](https://github.com/Algunenano)).

<div id="253">
  ### Versión 25.3 LTS de ClickHouse, 2025-03-20
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se prohíbe truncar bases de datos Replicated. [#76651](https://github.com/ClickHouse/ClickHouse/pull/76651) ([Bharat Nallan](https://github.com/bharatnc)).
* Se revierte la caché del índice de omisión. [#77447](https://github.com/ClickHouse/ClickHouse/pull/77447) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* El tipo de datos `JSON` está listo para su uso en producción. Consulta [https://jsonbench.com/](https://jsonbench.com/). Los tipos de datos `Dynamic` y `Variant` están listos para su uso en producción. [#77785](https://github.com/ClickHouse/ClickHouse/pull/77785) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se incorpora el protocolo SSH para clickhouse-server. Ahora es posible conectarse a ClickHouse con cualquier cliente SSH. Esto cierra: [#74340](https://github.com/ClickHouse/ClickHouse/issues/74340). [#74989](https://github.com/ClickHouse/ClickHouse/pull/74989) ([George Gamezardashvili](https://github.com/Infjoker)).
* Sustituye las funciones de tabla por sus alternativas -Cluster si están habilitadas las réplicas paralelas. Corrige [#65024](https://github.com/ClickHouse/ClickHouse/issues/65024). [#70659](https://github.com/ClickHouse/ClickHouse/pull/70659) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Una nueva implementación de la caché de páginas en espacio de usuario, que permite almacenar datos en caché en la memoria del proceso en lugar de depender de la caché de páginas del sistema operativo, lo que resulta útil cuando los datos se almacenan en un sistema de archivos virtual remoto sin el respaldo de la caché del sistema de archivos local. [#70509](https://github.com/ClickHouse/ClickHouse/pull/70509) ([Michael Kolupaev](https://github.com/al13n321)).
* Se añadió la configuración de servidor `concurrent_threads_scheduler`, que regula cómo se distribuyen los slots de CPU entre las consultas concurrentes. Puede establecerse en `round_robin` (comportamiento anterior) o `fair_round_robin` para solucionar el problema de la distribución desigual de CPU entre INSERTs y SELECTs. [#75949](https://github.com/ClickHouse/ClickHouse/pull/75949) ([Sergei Trifonov](https://github.com/serxa)).
* Se agregó la función de agregación `estimateCompressionRatio` [#70801](https://github.com/ClickHouse/ClickHouse/issues/70801). [#76661](https://github.com/ClickHouse/ClickHouse/pull/76661) ([Tariq Almawash](https://github.com/talmawash)).
* Se añadió la función `arraySymmetricDifference`. Devuelve todos los elementos de varios argumentos de tipo array que no aparecen en todos los argumentos. Ejemplo: `SELECT arraySymmetricDifference([1, 2], [2, 3])` devuelve `[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)).
* Permite especificar explícitamente el archivo de metadatos que debe leerse para Iceberg con la configuración `iceberg_metadata_file_path ` de la función de tabla o del almacenamiento. Corrige [#47412](https://github.com/ClickHouse/ClickHouse/issues/47412). [#77318](https://github.com/ClickHouse/ClickHouse/pull/77318) ([alesapin](https://github.com/alesapin)).
* Se añadió la función hash `keccak256`, utilizada habitualmente en implementaciones de blockchain, especialmente en sistemas basados en EVM. [#76669](https://github.com/ClickHouse/ClickHouse/pull/76669) ([Arnaud Briche](https://github.com/arnaudbriche)).
* Se añaden tres funciones nuevas: `icebergTruncate`, según la especificación [https://iceberg.apache.org/spec/#truncate-transform-details](https://iceberg.apache.org/spec/#truncate-transform-details), `toYearNumSinceEpoch` y `toMonthNumSinceEpoch`. Se admite la transformación `truncate` en la poda de particiones del motor `Iceberg`. [#77403](https://github.com/ClickHouse/ClickHouse/pull/77403) ([alesapin](https://github.com/alesapin)).
* Soporte para los tipos de datos `LowCardinality(Decimal)` [#72256](https://github.com/ClickHouse/ClickHouse/issues/72256). [#72833](https://github.com/ClickHouse/ClickHouse/pull/72833) ([zhanglistar](https://github.com/zhanglistar)).
* Los eventos de perfil `FilterTransformPassedRows` y `FilterTransformPassedBytes` mostrarán la cantidad de filas y bytes filtrados durante la ejecución de la consulta. [#76662](https://github.com/ClickHouse/ClickHouse/pull/76662) ([Onkar Deshpande](https://github.com/onkar)).
* Compatibilidad con el tipo de métrica de histograma. La interfaz sigue muy de cerca la del cliente de Prometheus, donde basta con llamar a `observe(value)` para incrementar el contador del bucket correspondiente al valor. Las métricas de histograma se exponen a través de `system.histogram_metrics`. [#75736](https://github.com/ClickHouse/ClickHouse/pull/75736) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Soporte para CASE no constante al seleccionar en función de valores explícitos. [#77399](https://github.com/ClickHouse/ClickHouse/pull/77399) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se añadió compatibilidad [con Unity Catalog](https://www.databricks.com/product/unity-catalog) para tablas DeltaLake sobre AWS S3 y el sistema de archivos local. [#76988](https://github.com/ClickHouse/ClickHouse/pull/76988) ([alesapin](https://github.com/alesapin)).
* Se introdujo una integración experimental con el catálogo de servicios de AWS Glue para tablas Iceberg. [#77257](https://github.com/ClickHouse/ClickHouse/pull/77257) ([alesapin](https://github.com/alesapin)).
* Se añadió compatibilidad con el descubrimiento automático dinámico de clústeres. Esto amplía la funcionalidad existente de descubrimiento automático de *nodos*. ClickHouse ahora puede detectar y registrar automáticamente nuevos *clústeres* en una ruta común de ZooKeeper mediante `<multicluster_root_path>`. [#76001](https://github.com/ClickHouse/ClickHouse/pull/76001) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Se permite realizar automáticamente merges de limpieza de particiones completas tras un tiempo de espera configurable mediante la nueva configuración `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)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Implementar una caché de condiciones de consulta para mejorar el rendimiento de las consultas con condiciones repetidas. El intervalo de la porción de datos que no cumple la condición se recuerda como un índice temporal en memoria. Las consultas posteriores usarán este índice. Cierra [#67768](https://github.com/ClickHouse/ClickHouse/issues/67768) [#69236](https://github.com/ClickHouse/ClickHouse/pull/69236) ([zhongyuankai](https://github.com/zhongyuankai)).
* Expulsar activamente datos de la caché al eliminar partes. No permitir que la caché crezca hasta el tamaño máximo si la cantidad de datos es menor. [#76641](https://github.com/ClickHouse/ClickHouse/pull/76641) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Sustituir Int256 y UInt256 por el builtin i256 de clang en los cálculos aritméticos, lo que mejora el rendimiento [#70502](https://github.com/ClickHouse/ClickHouse/issues/70502). [#73658](https://github.com/ClickHouse/ClickHouse/pull/73658) ([李扬](https://github.com/taiyang-li)).
* En algunos casos (p. ej., una columna de array vacía), las partes de datos pueden contener archivos vacíos. Se puede omitir la escritura de blobs vacíos en ObjectStorage y almacenar solo los metadatos de esos archivos cuando la tabla reside en un disco con metadatos y almacenamiento de objetos separados. [#75860](https://github.com/ClickHouse/ClickHouse/pull/75860) ([Alexander Gololobov](https://github.com/davenger)).
* Mejorar el rendimiento de min/max para Decimal32/Decimal64/DateTime64. [#76570](https://github.com/ClickHouse/ClickHouse/pull/76570) ([李扬](https://github.com/taiyang-li)).
* La compilación de consultas (ajuste `compile_expressions`) ahora tiene en cuenta el tipo de máquina. Esto acelera significativamente estas consultas. [#76753](https://github.com/ClickHouse/ClickHouse/pull/76753) ([ZhangLiStar](https://github.com/zhanglistar)).
* Optimizar `arraySort`. [#76850](https://github.com/ClickHouse/ClickHouse/pull/76850) ([李扬](https://github.com/taiyang-li)).
* Desactivar `filesystem_cache_prefer_bigger_buffer_size` cuando la caché se use de forma pasiva, como en las fusiones. [#77898](https://github.com/ClickHouse/ClickHouse/pull/77898) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Aplicar el atributo `preserve_most` en algunos puntos del código, lo que permite una generación de código ligeramente mejor. [#67778](https://github.com/ClickHouse/ClickHouse/pull/67778) ([Nikita Taranov](https://github.com/nickitat)).
* Cierre más rápido de los servidores ClickHouse (elimina un retraso de 2,5 s). [#76550](https://github.com/ClickHouse/ClickHouse/pull/76550) ([Azat Khuzhin](https://github.com/azat)).
* Evitar la asignación excesiva en ReadBufferFromS3 y otros búferes de lectura remota; reducir a la mitad su consumo de memoria. [#76692](https://github.com/ClickHouse/ClickHouse/pull/76692) ([Sema Checherinda](https://github.com/CheSema)).
* Actualizar zstd de 1.5.5 a 1.5.7, lo que podría dar lugar a algunas [mejoras de rendimiento](https://github.com/facebook/zstd/releases/tag/v1.5.7). [#77137](https://github.com/ClickHouse/ClickHouse/pull/77137) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* Reducir el uso de memoria durante los prefetches de una columna JSON en partes wide. Esto es relevante cuando ClickHouse se usa sobre almacenamiento compartido, como en ClickHouse Cloud. [#77640](https://github.com/ClickHouse/ClickHouse/pull/77640) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="improvement">
  #### Mejora
</div>

* Se admite el cambio de nombre atómico cuando se usa `TRUNCATE` con `INTO OUTFILE`. Resuelve [#70323](https://github.com/ClickHouse/ClickHouse/issues/70323). [#77181](https://github.com/ClickHouse/ClickHouse/pull/77181) ([Onkar Deshpande](https://github.com/onkar)).
* Ya no es posible usar `NaN` o `inf` como valores de configuración de tipo flotante. No es que antes tuviera mucho sentido. [#77546](https://github.com/ClickHouse/ClickHouse/pull/77546) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se deshabilitan las réplicas paralelas de forma predeterminada cuando `analyzer` está deshabilitado, independientemente de la configuración de `compatibility`. Aun así, es posible cambiar este comportamiento estableciendo explícitamente `parallel_replicas_only_with_analyzer` en `false`. [#77115](https://github.com/ClickHouse/ClickHouse/pull/77115) ([Igor Nikonov](https://github.com/devcrafter)).
* Se añadió la posibilidad de definir una lista de cabeceras que se reenvían desde la solicitud del cliente al autenticador HTTP externo. [#77054](https://github.com/ClickHouse/ClickHouse/pull/77054) ([inv2004](https://github.com/inv2004)).
* Se respeta la coincidencia de columnas sin distinción entre mayúsculas y minúsculas para los campos de las columnas de tuplas. Cierra [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)).
* Los parámetros del códec Gorilla ahora siempre se guardarán en los metadatos de la table en el archivo .sql. Esto resuelve: [#70072](https://github.com/ClickHouse/ClickHouse/issues/70072). [#74814](https://github.com/ClickHouse/ClickHouse/pull/74814) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se implementaron mejoras en el análisis para ciertos lagos de datos (análisis de Sequence ID: se añadió funcionalidad para analizar identificadores de secuencia en archivos manifest, y análisis de metadatos de Avro: se rediseñó el analizador de metadatos de Avro para que sea fácilmente extensible en futuras mejoras). [#75010](https://github.com/ClickHouse/ClickHouse/pull/75010) ([Daniil Ivanik](https://github.com/divanik)).
* Se quitó trace\_id del ORDER BY predeterminado de `system.opentelemetry_span_log`. [#75907](https://github.com/ClickHouse/ClickHouse/pull/75907) ([Azat Khuzhin](https://github.com/azat)).
* El cifrado (el atributo `encrypted_by`) ahora puede aplicarse a cualquier archivo de configuración (config.xml, users.xml y archivos de configuración anidados). Anteriormente, solo funcionaba con el archivo config.xml de nivel superior. [#75911](https://github.com/ClickHouse/ClickHouse/pull/75911) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* Mejora de la tabla `system.warnings` y adición de algunos mensajes de advertencia dinámicos que pueden añadirse, actualizarse o eliminarse. [#76029](https://github.com/ClickHouse/ClickHouse/pull/76029) ([Bharat Nallan](https://github.com/bharatnc)).
* Este PR hace que no se pueda ejecutar una consulta `ALTER USER user1 ADD PROFILES a, DROP ALL PROFILES`, porque todas las operaciones `DROP` deben ir primero. [#76242](https://github.com/ClickHouse/ClickHouse/pull/76242) ([pufit](https://github.com/pufit)).
* Varias mejoras para SYNC REPLICA (mensajes de error mejorados, pruebas mejoradas, comprobaciones de coherencia). [#76307](https://github.com/ClickHouse/ClickHouse/pull/76307) ([Azat Khuzhin](https://github.com/azat)).
* Usa el fallback correcto cuando falle la copia multiparte a S3 durante una copia de seguridad con Access Denied. La copia multiparte puede generar un error de Access Denied cuando la copia de seguridad se realiza entre buckets con credenciales distintas. [#76515](https://github.com/ClickHouse/ClickHouse/pull/76515) ([Antonio Andelic](https://github.com/antonio2368)).
* Se actualizó librdkafka (que es un montón de basura) a la versión 2.8.0 (el montón no mejora en nada) y se mejoró la secuencia de cierre de las tablas de Kafka, reduciendo los retrasos durante la eliminación de tablas y los reinicios del servidor. `engine=Kafka` ya no sale explícitamente del grupo de consumidores cuando se elimina una tabla. En su lugar, el consumidor permanece en el grupo hasta que se elimina automáticamente tras `session_timeout_ms` (valor predeterminado: 45 segundos) de inactividad. [#76621](https://github.com/ClickHouse/ClickHouse/pull/76621) ([filimonov](https://github.com/filimonov)).
* Se corrige la validación de la configuración de las solicitudes a S3. [#76658](https://github.com/ClickHouse/ClickHouse/pull/76658) ([Vitaly Baranov](https://github.com/vitlibar)).
* Las tablas del sistema como `server_settings` o `settings` tienen una columna con el valor `default`, lo cual resulta conveniente. Añádalas a `merge_tree_settings` y `replicated_merge_tree_settings`. [#76942](https://github.com/ClickHouse/ClickHouse/pull/76942) ([Diego Nieto](https://github.com/lesandie)).
* Se añadió `ProfileEvents::QueryPreempted`, que sigue una lógica similar a `CurrentMetrics::QueryPreempted`. [#77015](https://github.com/ClickHouse/ClickHouse/pull/77015) ([VicoWu](https://github.com/VicoWu)).
* Anteriormente, una base de datos Replicated podía mostrar en los logs las credenciales especificadas en una consulta. Este comportamiento se ha corregido. Esto cierra: [#77123](https://github.com/ClickHouse/ClickHouse/issues/77123). [#77133](https://github.com/ClickHouse/ClickHouse/pull/77133) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Permitir ALTER TABLE DROP PARTITION en `plain_rewritable disk`. [#77138](https://github.com/ClickHouse/ClickHouse/pull/77138) ([Julia Kartseva](https://github.com/jkartseva)).
* La configuración de copia de seguridad/restauración `allow_s3_native_copy` ahora admite tres valores posibles: - `False` - no se usará la copia nativa de S3; - `True` (valor predeterminado anterior) - ClickHouse intentará primero la copia nativa de S3; si falla, recurrirá al método de lectura+escritura; - `'auto'` (nuevo valor predeterminado) - ClickHouse comparará primero las credenciales de origen y destino. Si son las mismas, ClickHouse intentará la copia nativa de S3 y luego podrá recurrir al método de lectura+escritura. Si son diferentes, ClickHouse irá directamente al método de lectura+escritura. [#77401](https://github.com/ClickHouse/ClickHouse/pull/77401) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se admite el uso del token de sesión de AWS y las credenciales de entorno en Delta Kernel para el motor de tabla DeltaLake. [#77661](https://github.com/ClickHouse/ClickHouse/pull/77661) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Se corrigió el bloqueo al procesar un lote pendiente para INSERT distribuido asíncrono (debido, por ejemplo, a `No such file or directory`). [#72939](https://github.com/ClickHouse/ClickHouse/pull/72939) ([Azat Khuzhin](https://github.com/azat)).
* Se mejoró la conversión de fecha y hora durante el análisis de índices al forzar un comportamiento saturante en las conversiones implícitas de Date a DateTime. Esto resuelve posibles imprecisiones en el análisis de índices causadas por las limitaciones del rango de fecha y hora. Corrige [#73307](https://github.com/ClickHouse/ClickHouse/issues/73307). También corrige la conversión explícita `toDateTime` cuando `date_time_overflow_behavior = 'ignore'`, que es el valor predeterminado. [#73326](https://github.com/ClickHouse/ClickHouse/pull/73326) ([Amos Bird](https://github.com/amosbird)).
* Corrige todo tipo de errores debidos a condiciones de carrera entre UUID y nombres de tablas (por ejemplo, corrige la condición de carrera entre `RENAME` y `RESTART REPLICA`; en caso de un `RENAME` concurrente con `SYSTEM RESTART REPLICA`, podrías acabar reiniciando la réplica equivocada o incluso dejando una de las tablas en el estado `Table X is being restarted`). [#76308](https://github.com/ClickHouse/ClickHouse/pull/76308) ([Azat Khuzhin](https://github.com/azat)).
* Corrige la pérdida de datos al habilitar async insert e insertar en ... desde un archivo ... con tamaños de bloque desiguales: si el tamaño del primer bloque \< async\_max\_size pero el segundo bloque > async\_max\_size, el segundo bloque no se insertará. Estos datos quedan en `squashing`. [#76343](https://github.com/ClickHouse/ClickHouse/pull/76343) ([Han Fei](https://github.com/hanfei1991)).
* Se renombró el campo 'marks' a 'marks\_bytes' en `system.data_skipping_indices`. [#76374](https://github.com/ClickHouse/ClickHouse/pull/76374) ([Robert Schulze](https://github.com/rschu1ze)).
* Corrige el manejo del cambio de tamaño dinámico de la caché del sistema de archivos ante errores inesperados durante la evicción. [#76466](https://github.com/ClickHouse/ClickHouse/pull/76466) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió la inicialización de `used_flag` en el hash en paralelo. Esto podría provocar un fallo del servidor. [#76580](https://github.com/ClickHouse/ClickHouse/pull/76580) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige un error lógico al llamar a la función `defaultProfiles` dentro de una proyección. [#76627](https://github.com/ClickHouse/ClickHouse/pull/76627) ([pufit](https://github.com/pufit)).
* No solicitar autenticación básica interactiva en el navegador desde la interfaz web. Cierra [#76319](https://github.com/ClickHouse/ClickHouse/issues/76319). [#76637](https://github.com/ClickHouse/ClickHouse/pull/76637) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige la excepción THERE\_IS\_NO\_COLUMN al seleccionar un literal booleano en tablas distribuidas. [#76656](https://github.com/ClickHouse/ClickHouse/pull/76656) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* La subruta dentro del directorio de la tabla se elige ahora de una forma más precisa. [#76681](https://github.com/ClickHouse/ClickHouse/pull/76681) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigió un error `Not found column in block` después de modificar una tabla con una subcolumna en la PK. Tras [https://github.com/ClickHouse/ClickHouse/pull/72644](https://github.com/ClickHouse/ClickHouse/pull/72644), se requiere [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)).
* Añade pruebas de rendimiento para la evaluación con cortocircuito de NULL y corrige errores. [#76708](https://github.com/ClickHouse/ClickHouse/pull/76708) ([李扬](https://github.com/taiyang-li)).
* Vaciar los búferes de escritura de salida antes de finalizarlos. Corrige el `LOGICAL_ERROR` que se generaba durante la finalización de algunos formatos de salida, por ejemplo, `JSONEachRowWithProgressRowOutputFormat`. [#76726](https://github.com/ClickHouse/ClickHouse/pull/76726) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añadió compatibilidad con el UUID binario de MongoDB ([#74452](https://github.com/ClickHouse/ClickHouse/issues/74452)) - Se corrigió el pushdown de WHERE a MongoDB al usar la función de tabla ([#72210](https://github.com/ClickHouse/ClickHouse/issues/72210)) - Se cambió el mapeo de tipos entre MongoDB y ClickHouse para que el UUID binario de MongoDB solo pueda analizarse como UUID de ClickHouse. Esto debería evitar ambigüedades y comportamientos inesperados en el futuro. - Se corrigió el mapeo de OID, preservando la compatibilidad con versiones anteriores. [#76762](https://github.com/ClickHouse/ClickHouse/pull/76762) ([Kirill Nikiforov](https://github.com/allmazz)).
* Se corrige la gestión de excepciones en la deserialización en paralelo de prefijos de subcolumnas JSON. [#76809](https://github.com/ClickHouse/ClickHouse/pull/76809) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el comportamiento de la función lgamma para enteros negativos. [#76840](https://github.com/ClickHouse/ClickHouse/pull/76840) ([Ilya Kataev](https://github.com/IlyaKataev)).
* Se corrige el análisis inverso para claves primarias definidas explícitamente. Similar a [#76654](https://github.com/ClickHouse/ClickHouse/issues/76654). [#76846](https://github.com/ClickHouse/ClickHouse/pull/76846) ([Amos Bird](https://github.com/amosbird)).
* Se corrige la representación legible de los valores Bool en formato JSON. [#76905](https://github.com/ClickHouse/ClickHouse/pull/76905) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un posible cierre inesperado causado por una reversión incorrecta de la columna JSON cuando se produce un error durante inserciones asíncronas. [#76908](https://github.com/ClickHouse/ClickHouse/pull/76908) ([Pavel Kruglov](https://github.com/Avogar)).
* Anteriormente, `multiIf` podía devolver columnas de distintos tipos durante la planificación y la ejecución principal. Esto hacía que el código produjera un comportamiento indefinido desde la perspectiva de C++. [#76914](https://github.com/ClickHouse/ClickHouse/pull/76914) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigió la serialización incorrecta de claves constantes Nullable en MergeTree. Esto soluciona [#76939](https://github.com/ClickHouse/ClickHouse/issues/76939). [#76985](https://github.com/ClickHouse/ClickHouse/pull/76985) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la ordenación de los valores `BFloat16`. Esto cierra [#75487](https://github.com/ClickHouse/ClickHouse/issues/75487). Esto cierra [#75669](https://github.com/ClickHouse/ClickHouse/issues/75669). [#77000](https://github.com/ClickHouse/ClickHouse/pull/77000) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió un problema con JSON y la subcolumna Variant al añadir una comprobación para omitir las subcolumnas efímeras en la comprobación de consistencia de partes. [#72187](https://github.com/ClickHouse/ClickHouse/issues/72187). [#77034](https://github.com/ClickHouse/ClickHouse/pull/77034) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se corrige un fallo en el análisis sintáctico de Template en el formato Values en caso de incompatibilidad de tipos. [#77071](https://github.com/ClickHouse/ClickHouse/pull/77071) ([Pavel Kruglov](https://github.com/Avogar)).
* No permitir la creación de tablas EmbeddedRocksDB con una subcolumna en la clave primaria. Anteriormente, se podían crear estas tablas, pero las consultas `SELECT` fallaban. [#77074](https://github.com/ClickHouse/ClickHouse/pull/77074) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige una comparación no válida en las consultas distribuidas, porque trasladar predicados a nodos remotos no respeta los tipos de los literales. [#77093](https://github.com/ClickHouse/ClickHouse/pull/77093) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrige un cierre inesperado al crear una tabla de Kafka que generaba una excepción. [#77121](https://github.com/ClickHouse/ClickHouse/pull/77121) ([Pavel Kruglov](https://github.com/Avogar)).
* Se admite JSON y subcolumnas en los motores Kafka y RabbitMQ. [#77122](https://github.com/ClickHouse/ClickHouse/pull/77122) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió el desenrollado de la pila de excepciones en MacOS. [#77126](https://github.com/ClickHouse/ClickHouse/pull/77126) ([Eduard Karacharov](https://github.com/korowa)).
* Se corrigió la lectura de la subcolumna 'null' en la función getSubcolumn. [#77163](https://github.com/ClickHouse/ClickHouse/pull/77163) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el índice bloom filter para Array y funciones no compatibles. [#77271](https://github.com/ClickHouse/ClickHouse/pull/77271) ([Pavel Kruglov](https://github.com/Avogar)).
* Solo se debe comprobar la restricción sobre el número de tablas durante la consulta CREATE inicial. [#77274](https://github.com/ClickHouse/ClickHouse/pull/77274) ([Nikolay Degterinsky](https://github.com/evillique)).
* No es un error: `SELECT toBFloat16(-0.0) == toBFloat16(0.0)` ahora devuelve correctamente `true` (antes devolvía `false`). Esto hace que el comportamiento sea consistente con `Float32` y `Float64`. [#77290](https://github.com/ClickHouse/ClickHouse/pull/77290) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Corrige una posible referencia incorrecta a la variable `key_index` sin inicializar, lo que puede provocar un fallo en builds de depuración (esta referencia sin inicializar no causará problemas en builds release porque es probable que el código posterior genere errores). ### entrada de documentación para cambios visibles para el usuario. [#77305](https://github.com/ClickHouse/ClickHouse/pull/77305) ([wxybear](https://github.com/wxybear)).
* Se corrige el nombre de la partición con un valor Bool. Se había roto en [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)).
* Se corrige la comparación entre Tuples con elementos Nullable y Strings. Por ejemplo, antes del cambio, la comparación entre un Tuple `(1, null)` y un String `'(1,null)'` provocaba un error. Otro ejemplo es la comparación entre un Tuple `(1, a)`, donde `a` es una columna Nullable, y un String `'(1, 2)'`. Este cambio soluciona estos problemas. [#77323](https://github.com/ClickHouse/ClickHouse/pull/77323) ([Alexey Katsman](https://github.com/alexkats)).
* Se corrigió un fallo en ObjectStorageQueueSource. Se había introducido en [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)).
* Se corrige `async_insert` con `input`. [#77340](https://github.com/ClickHouse/ClickHouse/pull/77340) ([Azat Khuzhin](https://github.com/azat)).
* Corrección: `WITH FILL` puede fallar con NOT\_FOUND\_COLUMN\_IN\_BLOCK cuando el planificador elimina la columna usada para ordenar. Problema similar relacionado con un DAG inconsistente calculado para la expresión INTERPOLATE. [#77343](https://github.com/ClickHouse/ClickHouse/pull/77343) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Corrige varios LOGICAL\_ERROR al asignar alias a nodos AST no válidos. [#77445](https://github.com/ClickHouse/ClickHouse/pull/77445) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el manejo de errores durante la escritura de segmentos de archivo en la implementación de la caché del sistema de archivos. [#77471](https://github.com/ClickHouse/ClickHouse/pull/77471) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Hacer que DatabaseIceberg utilice el archivo de metadatos correcto proporcionado por el catálogo. Cierra [#75187](https://github.com/ClickHouse/ClickHouse/issues/75187). [#77486](https://github.com/ClickHouse/ClickHouse/pull/77486) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La caché de consultas ahora considera que las UDF no son deterministas. En consecuencia, los resultados de las consultas con UDF ya no se almacenan en caché. Anteriormente, los usuarios podían definir UDF no deterministas cuyo resultado podía almacenarse erróneamente en caché (incidencia [#77553](https://github.com/ClickHouse/ClickHouse/issues/77553)). [#77633](https://github.com/ClickHouse/ClickHouse/pull/77633) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Se corrigió un problema por el que system.filesystem\_cache\_log solo funcionaba con la configuración `enable_filesystem_cache_log`. [#77650](https://github.com/ClickHouse/ClickHouse/pull/77650) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un error lógico al llamar a la función `defaultRoles` dentro de una proyección. Como continuación de [#76627](https://github.com/ClickHouse/ClickHouse/issues/76627). [#77667](https://github.com/ClickHouse/ClickHouse/pull/77667) ([pufit](https://github.com/pufit)).
* Los segundos argumentos de tipo `Nullable` para la función `arrayResize` ya no se permiten. Anteriormente, con `Nullable` como segundo argumento, podía ocurrir cualquier cosa, desde errores hasta resultados incorrectos. (issue [#48398](https://github.com/ClickHouse/ClickHouse/issues/48398)). [#77724](https://github.com/ClickHouse/ClickHouse/pull/77724) ([Manish Gill](https://github.com/mgill25)).
* Comprobar regularmente si las fusiones y mutaciones se han cancelado, incluso cuando la operación no produce ningún bloque que escribir. [#77766](https://github.com/ClickHouse/ClickHouse/pull/77766) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).

#### Mejora de compilación/pruebas/empaquetado

* `clickhouse-odbc-bridge` y `clickhouse-library-bridge` se han trasladado a un repository independiente: [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)).
* Se corrige la compilación cruzada de Rust y se permite deshabilitar Rust por completo. [#76921](https://github.com/ClickHouse/ClickHouse/pull/76921) ([Raúl Marín](https://github.com/Algunenano)).

<div id="252">
  ### Versión 25.2 de ClickHouse, 2025-02-27
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se habilita completamente `async_load_databases` de forma predeterminada (incluso para aquellas instalaciones que no actualicen `config.xml`). [#74772](https://github.com/ClickHouse/ClickHouse/pull/74772) ([Azat Khuzhin](https://github.com/azat)).
* Se añaden los formatos `JSONCompactEachRowWithProgress` y `JSONCompactStringsEachRowWithProgress`. Continuación de [#69989](https://github.com/ClickHouse/ClickHouse/issues/69989). `JSONCompactWithNames` y `JSONCompactWithNamesAndTypes` ya no generan "totals"; al parecer, se trataba de un error de implementación. [#75037](https://github.com/ClickHouse/ClickHouse/pull/75037) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se cambia el valor predeterminado de `format_alter_operations_with_parentheses` a true para eliminar la ambigüedad de la lista de comandos ALTER (consulta [https://github.com/ClickHouse/ClickHouse/pull/59532](https://github.com/ClickHouse/ClickHouse/pull/59532)). Esto rompe la replicación con clústeres anteriores a la versión 24.3. Si estás actualizando un clúster que usa versiones más antiguas, desactiva esta opción en la configuración del servidor o actualiza primero a la 24.3. [#75302](https://github.com/ClickHouse/ClickHouse/pull/75302) ([Raúl Marín](https://github.com/Algunenano)).
* Se elimina la posibilidad de filtrar mensajes de registro mediante expresiones regulares. La implementación introducía una condición de carrera, por lo que ha tenido que eliminarse. [#75577](https://github.com/ClickHouse/ClickHouse/pull/75577) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* La opción `min_chunk_bytes_for_parallel_parsing` ya no puede ser cero. Esto corrige: [#71110](https://github.com/ClickHouse/ClickHouse/issues/71110). [#75239](https://github.com/ClickHouse/ClickHouse/pull/75239) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se validan los ajustes en la configuración de la caché. Antes, los ajustes inexistentes se ignoraban; ahora provocarán un error y deben eliminarse. [#75452](https://github.com/ClickHouse/ClickHouse/pull/75452) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Compatibilidad con el tipo `Nullable(JSON)`. [#73556](https://github.com/ClickHouse/ClickHouse/pull/73556) ([Pavel Kruglov](https://github.com/Avogar)).
* Compatibilidad con subcolumnas en las expresiones DEFAULT y MATERIALIZED. [#74403](https://github.com/ClickHouse/ClickHouse/pull/74403) ([Pavel Kruglov](https://github.com/Avogar)).
* Compatibilidad con la escritura de bloom filters de Parquet mediante la configuración `output_format_parquet_write_bloom_filter` (habilitada de forma predeterminada). [#71681](https://github.com/ClickHouse/ClickHouse/pull/71681) ([Michael Kolupaev](https://github.com/al13n321)).
* La interfaz web ahora cuenta con navegación interactiva por la base de datos. [#75777](https://github.com/ClickHouse/ClickHouse/pull/75777) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permite combinar discos de solo lectura y de lectura y escritura en la política de almacenamiento (como varios volúmenes o varios discos). Esto permite leer datos de todo el volumen, mientras que las inserciones darán preferencia al disco con escritura habilitada (es decir, una política de almacenamiento Copy-on-Write). [#75862](https://github.com/ClickHouse/ClickHouse/pull/75862) ([Azat Khuzhin](https://github.com/azat)).
* Agrega un nuevo motor de base de datos, `DatabaseBackup,` que permite adjuntar al instante una tabla o base de datos desde una copia de seguridad. [#75725](https://github.com/ClickHouse/ClickHouse/pull/75725) ([Maksim Kita](https://github.com/kitaisreal)).
* Compatibilidad con sentencias preparadas en el protocolo wire de Postgres. [#75035](https://github.com/ClickHouse/ClickHouse/pull/75035) ([scanhex12](https://github.com/scanhex12)).
* Agrega la capacidad de ATTACH tablas sin capa de base de datos, lo que resulta útil para tablas MergeTree ubicadas en Web, S3 y sistemas de archivos virtuales externos similares. [#75788](https://github.com/ClickHouse/ClickHouse/pull/75788) ([Azat Khuzhin](https://github.com/azat)).
* Agrega una nueva función de comparación de cadenas, `compareSubstrings`, para comparar fragmentos de dos cadenas. Ejemplo: `SELECT compareSubstrings('Saxony', 'Anglo-Saxon', 0, 6, 5) AS result` significa «comparar lexicográficamente 6 bytes de las cadenas 'Saxon' y 'Anglo-Saxon', comenzando en el desplazamiento 0 de la primera cadena y en el desplazamiento 5 de la segunda». [#74070](https://github.com/ClickHouse/ClickHouse/pull/74070) ([lgbo](https://github.com/lgbo-ustc)).
* Se agrega una nueva función, `initialQueryStartTime`. Devuelve la hora de inicio de la consulta actual. El valor es el mismo en todos los segmentos durante una consulta distribuida. [#75087](https://github.com/ClickHouse/ClickHouse/pull/75087) ([Roman Lomonosov](https://github.com/lomik)).
* Agrega compatibilidad con autenticación SSL mediante colecciones con nombre para MySQL. Cierra [#59111](https://github.com/ClickHouse/ClickHouse/issues/59111). [#59452](https://github.com/ClickHouse/ClickHouse/pull/59452) ([Nikolay Degterinsky](https://github.com/evillique)).

<div id="experimental-features">
  #### Características experimentales
</div>

* Se añadió un nuevo ajuste, `enable_adaptive_memory_spill_scheduler`, que permite que varios Grace JOIN en la misma consulta supervisen su huella de memoria combinada y desencadenen de forma adaptativa el spilling a almacenamiento externo para evitar MEMORY\_LIMIT\_EXCEEDED. [#72728](https://github.com/ClickHouse/ClickHouse/pull/72728) ([lgbo](https://github.com/lgbo-ustc)).
* Se actualizó el nuevo motor de tabla experimental `Kafka` para que respete por completo las feature flags de Keeper. [#76004](https://github.com/ClickHouse/ClickHouse/pull/76004) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se restauró el codec QPL (Intel), que se había eliminado en la v24.10 debido a problemas de licencia. [#76021](https://github.com/ClickHouse/ClickHouse/pull/76021) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Para la integración con HDFS, se añadió compatibilidad con la opción de configuración `dfs.client.use.datanode.hostname`. [#74635](https://github.com/ClickHouse/ClickHouse/pull/74635) ([Mikhail Tiukavkin](https://github.com/freshertm)).

#### Mejora de rendimiento

* Mejora del rendimiento de la lectura de la columna JSON completa en partes Wide desde S3. Esto se consigue añadiendo prefetches para la deserialización de prefijos de subcolumnas, una caché de prefijos deserializados y la deserialización en paralelo de los prefijos de subcolumnas. Esto mejora 4 veces la lectura de la columna JSON desde S3 en consultas como `SELECT data FROM table` y alrededor de 10 veces en consultas como `SELECT data FROM table LIMIT 10`. [#74827](https://github.com/ClickHouse/ClickHouse/pull/74827) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió una contención innecesaria en `parallel_hash` cuando `max_rows_in_join = max_bytes_in_join = 0`. [#75155](https://github.com/ClickHouse/ClickHouse/pull/75155) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigió la doble preasignación en `ConcurrentHashJoin` en caso de que el optimizador intercambie los lados del join. [#75149](https://github.com/ClickHouse/ClickHouse/pull/75149) ([Nikita Taranov](https://github.com/nickitat)).
* Ligera mejora en algunos escenarios de join: se precalcula el número de filas de salida y se reserva memoria para ellas. [#75376](https://github.com/ClickHouse/ClickHouse/pull/75376) ([Alexander Gololobov](https://github.com/davenger)).
* Para consultas como `WHERE a < b AND b < c AND c < 5`, se pueden inferir nuevas condiciones de comparación (`a < 5 AND b < 5`) para mejorar la capacidad de filtrado. [#73164](https://github.com/ClickHouse/ClickHouse/pull/73164) ([Shichao Jin](https://github.com/jsc0218)).
* Mejora en Keeper: se deshabilita el cálculo del digest al confirmar en el almacenamiento en memoria para mejorar el rendimiento. Puede habilitarse con la configuración `keeper_server.digest_enabled_on_commit`. El digest se sigue calculando al preprocesar las solicitudes. [#75490](https://github.com/ClickHouse/ClickHouse/pull/75490) ([Antonio Andelic](https://github.com/antonio2368)).
* Se hace push down de la expresión de filtro desde JOIN ON cuando es posible. [#75536](https://github.com/ClickHouse/ClickHouse/pull/75536) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se calculan de forma diferida los tamaños de las columnas y los índices en MergeTree. [#75938](https://github.com/ClickHouse/ClickHouse/pull/75938) ([Pavel Kruglov](https://github.com/Avogar)).
* Se vuelve a respetar `ttl_only_drop_parts` en `MATERIALIZE TTL`; solo se leen las columnas necesarias para recalcular TTL y eliminar partes reemplazándolas por otras vacías. [#72751](https://github.com/ClickHouse/ClickHouse/pull/72751) ([Andrey Zvonov](https://github.com/zvonand)).
* Se reduce el tamaño del búfer de escritura para los archivos de metadatos plain\_rewritable. [#75758](https://github.com/ClickHouse/ClickHouse/pull/75758) ([Julia Kartseva](https://github.com/jkartseva)).
* Se reduce el uso de memoria de algunas funciones de ventana. [#65647](https://github.com/ClickHouse/ClickHouse/pull/65647) ([lgbo](https://github.com/lgbo-ustc)).
* Se evalúan conjuntamente los bloom filters de Parquet y los índices min/max. Es necesario para admitir correctamente: `x = 3 or x > 5` donde data = \[1, 2, 4, 5]. [#71383](https://github.com/ClickHouse/ClickHouse/pull/71383) ([Arthur Passos](https://github.com/arthurpassos)).
* Las consultas pasadas al almacenamiento `Executable` ya no están limitadas a una ejecución de un solo hilo. [#70084](https://github.com/ClickHouse/ClickHouse/pull/70084) ([yawnt](https://github.com/yawnt)).
* Se obtienen partes en paralelo en ALTER TABLE FETCH PARTITION (el tamaño del thread pool se controla con `max_fetch_partition_thread_pool_size`). [#74978](https://github.com/ClickHouse/ClickHouse/pull/74978) ([Azat Khuzhin](https://github.com/azat)).
* Se permite mover predicados con la función `indexHint` a `PREWHERE`. [#74987](https://github.com/ClickHouse/ClickHouse/pull/74987) ([Anton Popov](https://github.com/CurtizJ)).

<div id="improvement">
  #### Mejora
</div>

* Se ha corregido el cálculo del tamaño en memoria de las columnas `LowCardinality`. [#74688](https://github.com/ClickHouse/ClickHouse/pull/74688) ([Nikita Taranov](https://github.com/nickitat)).
* La tabla `processors_profile_log` ahora tiene una configuración predeterminada con un TTL de 30 días. [#66139](https://github.com/ClickHouse/ClickHouse/pull/66139) ([Ilya Yatsishin](https://github.com/qoega)).
* Permitir asignar nombres a los segmentos en la configuración del clúster. [#72276](https://github.com/ClickHouse/ClickHouse/pull/72276) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Cambia el código de estado de éxito de la respuesta de remote write de Prometheus de 200/OK a 204/NoContent. [#74170](https://github.com/ClickHouse/ClickHouse/pull/74170) ([Michael Dempsey](https://github.com/bluestealth)).
* Se añadió la posibilidad de recargar `max_remote_read_network_bandwidth_for_serve` y `max_remote_write_network_bandwidth_for_server` en caliente sin reiniciar el servidor. [#74206](https://github.com/ClickHouse/ClickHouse/pull/74206) ([Kai Zhu](https://github.com/nauu)).
* Permite usar rutas de blob para calcular sumas de comprobación al hacer una copia de seguridad. [#74729](https://github.com/ClickHouse/ClickHouse/pull/74729) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadió una columna de ID de consulta a `system.query_cache` (cierra [#68205](https://github.com/ClickHouse/ClickHouse/issues/68205)). [#74982](https://github.com/ClickHouse/ClickHouse/pull/74982) ([NamHoaiNguyen](https://github.com/NamHoaiNguyen)).
* Se permite cancelar consultas `ALTER TABLE ... FREEZE ...` con `KILL QUERY` y también automáticamente por un timeout (`max_execution_time`). [#75016](https://github.com/ClickHouse/ClickHouse/pull/75016) ([Kirill](https://github.com/kirillgarbar)).
* Se agregó compatibilidad con `groupUniqArrayArrayMap` como `SimpleAggregateFunction`. [#75034](https://github.com/ClickHouse/ClickHouse/pull/75034) ([Miel Donkers](https://github.com/mdonkers)).
* Se oculta la configuración de credenciales del catálogo en el motor de base de datos `Iceberg`. Cierra [#74559](https://github.com/ClickHouse/ClickHouse/issues/74559). [#75080](https://github.com/ClickHouse/ClickHouse/pull/75080) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `intExp2` / `intExp10`: Definen el comportamiento en casos indefinidos: devuelven 0 para un argumento demasiado pequeño, `18446744073709551615` para un argumento demasiado grande y lanzan una excepción si es `nan`. [#75312](https://github.com/ClickHouse/ClickHouse/pull/75312) ([Vitaly Baranov](https://github.com/vitlibar)).
* Soporte nativo de `s3.endpoint` desde la configuración del catálogo en `DatabaseIceberg`. Cierra [#74558](https://github.com/ClickHouse/ClickHouse/issues/74558). [#75375](https://github.com/ClickHouse/ClickHouse/pull/75375) ([Kseniia Sumarokova](https://github.com/kssenii)).
* No fallar de forma silenciosa si un usuario que ejecuta `SYSTEM DROP REPLICA` no tiene permisos suficientes. [#75377](https://github.com/ClickHouse/ClickHouse/pull/75377) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añade un ProfileEvent sobre el número de veces que alguno de los logs del sistema no se ha podido vaciar. [#75466](https://github.com/ClickHouse/ClickHouse/pull/75466) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade una comprobación y registros adicionales para el descifrado y la descompresión. [#75471](https://github.com/ClickHouse/ClickHouse/pull/75471) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadió compatibilidad con el signo micro (U+00B5) en la función `parseTimeDelta`. Ahora, tanto el signo micro (U+00B5) como la letra griega mu (U+03BC) se reconocen como representaciones válidas de microsegundos, lo que alinea el comportamiento de ClickHouse con la implementación de Go ([ver time.go](https://github.com/golang/go/blob/ad7b46ee4ac1cee5095d64b01e8cf7fcda8bee5e/src/time/time.go#L983C19-L983C20) y [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)).
* Se sustituye la configuración del servidor (`send_settings_to_client`) por la configuración de cliente (`apply_settings_from_server`), que controla si el código del lado del cliente (p. ej., el análisis de datos INSERT y el formateo de la salida de la consulta) debe usar la configuración de `users.xml` del servidor y del perfil de usuario. De lo contrario, solo se usan la configuración de la línea de comandos del cliente, la sesión y la consulta. Tenga en cuenta que esto solo se aplica al cliente nativo (no, por ejemplo, a HTTP) y no afecta a la mayor parte del procesamiento de consultas (que ocurre en el servidor). [#75478](https://github.com/ClickHouse/ClickHouse/pull/75478) ([Michael Kolupaev](https://github.com/al13n321)).
* Mejores mensajes de error para errores de sintaxis. Anteriormente, si la consulta era demasiado grande y el token cuya longitud superaba el límite era un literal de cadena muy largo, el mensaje con la causa se perdía entre dos ejemplos de ese token larguísimo. Se corrige el problema por el que una consulta con UTF-8 se truncaba incorrectamente en el mensaje de error. Se corrige el uso excesivo de comillas en fragmentos de consulta. Esto cierra [#75473](https://github.com/ClickHouse/ClickHouse/issues/75473). [#75561](https://github.com/ClickHouse/ClickHouse/pull/75561) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se agregan eventos de perfil al almacenamiento `S3(Azure)Queue`. [#75618](https://github.com/ClickHouse/ClickHouse/pull/75618) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Deshabilitar el envío de la configuración del servidor al cliente (`send_settings_to_client=false`) por motivos de compatibilidad (Esta funcionalidad se volverá a implementar más adelante como una configuración de cliente para facilitar su uso). [#75648](https://github.com/ClickHouse/ClickHouse/pull/75648) ([Michael Kolupaev](https://github.com/al13n321)).
* Se añadió la configuración `memory_worker_correct_memory_tracker` para permitir corregir el rastreador de memoria interno con información de distintas fuentes, leída periódicamente por el hilo en segundo plano. [#75714](https://github.com/ClickHouse/ClickHouse/pull/75714) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añade la columna `normalized_query_hash` a `system.processes`. Nota: aunque puede calcularse fácilmente sobre la marcha con la función `normalizedQueryHash`, esto es necesario para preparar cambios posteriores. [#75756](https://github.com/ClickHouse/ClickHouse/pull/75756) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Consultar `system.tables` no generará una excepción aunque exista una tabla `Merge` creada sobre una base de datos que ya no existe. Se elimina el método `getTotalRows` de las tablas `Hive` porque no se permite que realice operaciones complejas. [#75772](https://github.com/ClickHouse/ClickHouse/pull/75772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se almacenan start\_time/end\_time para las copias de seguridad con precisión de microsegundos. [#75929](https://github.com/ClickHouse/ClickHouse/pull/75929) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Añade la métrica `MemoryTrackingUncorrected`, que muestra el valor del memory tracker global interno, no corregido por RSS. [#75935](https://github.com/ClickHouse/ClickHouse/pull/75935) ([Antonio Andelic](https://github.com/antonio2368)).
* Permitir analizar endpoints como `localhost:1234/handle` en las funciones de tabla de `PostgreSQL` o `MySQL`. Esto corrige una regresión introducida en [https://github.com/ClickHouse/ClickHouse/pull/52503](https://github.com/ClickHouse/ClickHouse/pull/52503). [#75944](https://github.com/ClickHouse/ClickHouse/pull/75944) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añadió una configuración a nivel de servidor, `throw_on_unknown_workload`, que permite elegir el comportamiento de una consulta cuando la configuración `workload` se establece con un valor desconocido: permitir acceso ilimitado (opción predeterminada) o devolver un error `RESOURCE_ACCESS_DENIED`. Es útil para obligar a que todas las consultas usen la planificación de cargas de trabajo. [#75999](https://github.com/ClickHouse/ClickHouse/pull/75999) ([Sergei Trifonov](https://github.com/serxa)).
* No reescribir subcolumnas como `getSubcolumn` en `ARRAY JOIN` si no es necesario. [#76018](https://github.com/ClickHouse/ClickHouse/pull/76018) ([Pavel Kruglov](https://github.com/Avogar)).
* Reintento en caso de errores de coordinación al cargar tablas. [#76020](https://github.com/ClickHouse/ClickHouse/pull/76020) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se admite el vaciado de registros individuales en `SYSTEM FLUSH LOGS`. [#76132](https://github.com/ClickHouse/ClickHouse/pull/76132) ([Raúl Marín](https://github.com/Algunenano)).
* Se mejoró la página del servidor `/binary`. Se utiliza la curva de Hilbert en lugar de la curva de Morton. Se muestran en el cuadrado direcciones correspondientes a 512 MB, lo que permite aprovechar mejor el espacio (en versiones anteriores, las direcciones solo ocupaban la mitad del cuadrado). Las direcciones se colorean en función de su proximidad al nombre de la biblioteca, en lugar de al nombre de la función. Se permite desplazarse un poco más fuera de esa área. [#76192](https://github.com/ClickHouse/ClickHouse/pull/76192) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Reintentar las consultas ON CLUSTER en caso de TOO\_MANY\_SIMULTANEOUS\_QUERIES. [#76352](https://github.com/ClickHouse/ClickHouse/pull/76352) ([Patrick Galbraith](https://github.com/CaptTofu)).
* Se añade la métrica asíncrona `CPUOverload`, que calcula el déficit relativo de CPU del servidor. [#76404](https://github.com/ClickHouse/ClickHouse/pull/76404) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se cambió el valor predeterminado de `output_format_pretty_max_rows` de 10000 a 1000. Creo que así es más fácil de usar. [#76407](https://github.com/ClickHouse/ClickHouse/pull/76407) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Se corrige el formateo de las excepciones con un formato personalizado si aparecen durante la interpretación de la consulta. En versiones anteriores, las excepciones se formateaban con el formato predeterminado en lugar del formato especificado en la consulta. Esto resuelve [#55422](https://github.com/ClickHouse/ClickHouse/issues/55422). [#74994](https://github.com/ClickHouse/ClickHouse/pull/74994) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige el mapeo de tipos de SQLite (`int64` para los tipos enteros y `float64` para los de coma flotante). [#73853](https://github.com/ClickHouse/ClickHouse/pull/73853) ([Joanna Hulboj](https://github.com/jh0x)).
* Corrige la resolución de identificadores desde ámbitos superiores. Permite usar alias para expresiones en la cláusula 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)).
* Se ha corregido la monotonía de la función `negate`. En versiones anteriores, la consulta `select * from a where -x = -42;`, donde `x` es la clave primaria, podía devolver un resultado incorrecto. [#71440](https://github.com/ClickHouse/ClickHouse/pull/71440) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige el manejo de tuplas vacías en arrayIntersect. Esto corrige [#72578](https://github.com/ClickHouse/ClickHouse/issues/72578). [#72581](https://github.com/ClickHouse/ClickHouse/pull/72581) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la lectura de subcolumnas de subobjetos JSON con un prefijo incorrecto. [#73182](https://github.com/ClickHouse/ClickHouse/pull/73182) ([Pavel Kruglov](https://github.com/Avogar)).
* Propagar correctamente la configuración del formato Native para la comunicación cliente-servidor. [#73924](https://github.com/ClickHouse/ClickHouse/pull/73924) ([Pavel Kruglov](https://github.com/Avogar)).
* Comprobación de tipos no compatibles en algunos motores de almacenamiento. [#74218](https://github.com/ClickHouse/ClickHouse/pull/74218) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un fallo con la consulta `INSERT INTO SELECT` en la Interfaz de PostgreSQL en macOS (problema [#72938](https://github.com/ClickHouse/ClickHouse/issues/72938)). [#74231](https://github.com/ClickHouse/ClickHouse/pull/74231) ([Artem Yurov](https://github.com/ArtemYurov)).
* Se corrigió `max&#95;log&#95;ptr` no inicializado en la base de datos replicada. [#74336](https://github.com/ClickHouse/ClickHouse/pull/74336) ([Konstantin Morozov](https://github.com/k-morozov)).
* Corrige un fallo al insertar un intervalo (incidencia [#74299](https://github.com/ClickHouse/ClickHouse/issues/74299)). [#74478](https://github.com/ClickHouse/ClickHouse/pull/74478) ([NamHoaiNguyen](https://github.com/NamHoaiNguyen)).
* Se corrigió el formateo de literales JSON constantes. Anteriormente, esto podía provocar errores de sintaxis al enviar la consulta a otro servidor. [#74533](https://github.com/ClickHouse/ClickHouse/pull/74533) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un fallo en la consulta CREATE al usar expresiones de partición constantes con proyecciones implícitas habilitadas. Esto corrige [#74596](https://github.com/ClickHouse/ClickHouse/issues/74596) . [#74634](https://github.com/ClickHouse/ClickHouse/pull/74634) ([Amos Bird](https://github.com/amosbird)).
* Evita dejar la conexión en un estado inconsistente después de que INSERT termine con una excepción. [#74740](https://github.com/ClickHouse/ClickHouse/pull/74740) ([Azat Khuzhin](https://github.com/azat)).
* Evitar reutilizar conexiones que habían quedado en un estado intermedio. [#74749](https://github.com/ClickHouse/ClickHouse/pull/74749) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un fallo al analizar la declaración del tipo JSON cuando el nombre del tipo no está en mayúsculas. [#74784](https://github.com/ClickHouse/ClickHouse/pull/74784) ([Pavel Kruglov](https://github.com/Avogar)).
* Keeper: se corrige logical\_error cuando la conexión se había cerrado antes de establecerse. [#74844](https://github.com/ClickHouse/ClickHouse/pull/74844) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige un problema por el que el servidor no podía iniciarse cuando había una tabla que usaba `AzureBlobStorage`. Las tablas se cargan sin realizar ninguna solicitud a Azure. [#74880](https://github.com/ClickHouse/ClickHouse/pull/74880) ([Alexey Katsman](https://github.com/alexkats)).
* Corrige los campos `used_privileges` y `missing_privileges` que faltaban en `query_log` para las operaciones BACKUP y RESTORE. [#74887](https://github.com/ClickHouse/ClickHouse/pull/74887) ([Alexey Katsman](https://github.com/alexkats)).
* Renueva el ticket krb de HDFS si se produce un error de SASL durante una solicitud `select` a HDFS. [#74930](https://github.com/ClickHouse/ClickHouse/pull/74930) ([inv2004](https://github.com/inv2004)).
* Se corrigieron las consultas a la base de datos Replicated en startup\_scripts. [#74942](https://github.com/ClickHouse/ClickHouse/pull/74942) ([Azat Khuzhin](https://github.com/azat)).
* Corrige problemas con expresiones con alias de tipo en la cláusula JOIN ON cuando se usa una comparación null-safe. [#74970](https://github.com/ClickHouse/ClickHouse/pull/74970) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Revierte el estado de la parte de deleting a outdated cuando falla la operación de eliminación. [#74985](https://github.com/ClickHouse/ClickHouse/pull/74985) ([Sema Checherinda](https://github.com/CheSema)).
* En versiones anteriores, cuando había una subconsulta escalar, empezábamos a informar del progreso (acumulado durante el procesamiento de la subconsulta) durante la inicialización del formato de datos, antes de que se escribieran los encabezados HTTP. Esto provocaba la pérdida de encabezados HTTP, como X-ClickHouse-QueryId y X-ClickHouse-Format, así como de Content-Type. [#74991](https://github.com/ClickHouse/ClickHouse/pull/74991) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigen las consultas `CREATE TABLE AS...` con `database_replicated_allow_replicated_engine_arguments=0`. [#75000](https://github.com/ClickHouse/ClickHouse/pull/75000) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrige un problema por el que la conexión quedaba en mal estado en el cliente tras excepciones de INSERT. [#75030](https://github.com/ClickHouse/ClickHouse/pull/75030) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un cierre inesperado debido a una excepción no controlada en la replicación de PSQL. [#75062](https://github.com/ClickHouse/ClickHouse/pull/75062) ([Azat Khuzhin](https://github.com/azat)).
* Sasl puede hacer fallar cualquier llamada rpc; la corrección ayuda a repetir la llamada en caso de que el ticket de krb5 haya expirado. [#75063](https://github.com/ClickHouse/ClickHouse/pull/75063) ([inv2004](https://github.com/inv2004)).
* Se corrigió el uso de los índices (primarios y secundarios) en columnas `Array`, `Map` y `Nullable(..)` con la configuración `optimize_function_to_subcolumns` habilitada. Anteriormente, los índices de estas columnas podían ignorarse. [#75081](https://github.com/ClickHouse/ClickHouse/pull/75081) ([Anton Popov](https://github.com/CurtizJ)).
* Desactive `flatten_nested` al crear vistas materializadas con tablas internas, ya que no será posible usar esas columnas aplanadas. [#75085](https://github.com/ClickHouse/ClickHouse/pull/75085) ([Christoph Wurm](https://github.com/cwurm)).
* Corrección de un problema por el que algunas direcciones IPv6 (como ::ffff:1.1.1.1) en el campo forwarded\_for se interpretaban incorrectamente, lo que provocaba la desconexión del cliente con una excepción. [#75133](https://github.com/ClickHouse/ClickHouse/pull/75133) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige el manejo de JOIN con comparaciones null-safe para el tipo de datos LowCardinality Nullable. Anteriormente, `JOIN ON` con comparación null-safe, como `IS NOT DISTINCT FROM`, `<=>` , `a IS NULL AND b IS NULL OR a == b`, no funcionaba correctamente con columnas LowCardinality. [#75143](https://github.com/ClickHouse/ClickHouse/pull/75143) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Comprueba que no se especifique key\_condition al contar total\_number\_of\_rows para NumRowsCache. [#75164](https://github.com/ClickHouse/ClickHouse/pull/75164) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrigen las consultas con interpolación sin usar con el nuevo analizador. [#75173](https://github.com/ClickHouse/ClickHouse/pull/75173) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se corrige el fallo que provocaba un cierre inesperado en CTE con Insert. [#75188](https://github.com/ClickHouse/ClickHouse/pull/75188) ([Shichao Jin](https://github.com/jsc0218)).
* Corrección en Keeper: evitar escribir en registros de cambios dañados al revertir logs. [#75197](https://github.com/ClickHouse/ClickHouse/pull/75197) ([Antonio Andelic](https://github.com/antonio2368)).
* Usa `BFloat16` como supertipo cuando corresponda. Con esto se cierra: [#74404](https://github.com/ClickHouse/ClickHouse/issues/74404). [#75236](https://github.com/ClickHouse/ClickHouse/pull/75236) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Corrige los valores predeterminados inesperados en el resultado de JOIN con any\_join\_distinct\_right\_table\_keys y OR en JOIN ON. [#75262](https://github.com/ClickHouse/ClickHouse/pull/75262) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se enmascaran las credenciales del motor de tabla azureblobstorage. [#75319](https://github.com/ClickHouse/ClickHouse/pull/75319) ([Garrett Thomas](https://github.com/garrettthomaskth)).
* Se corrigió el comportamiento por el que ClickHouse podía realizar erróneamente un pushdown de filtro a una base de datos externa como PostgreSQL, MySQL o SQLite. Esto cierra: [#71423](https://github.com/ClickHouse/ClickHouse/issues/71423). [#75320](https://github.com/ClickHouse/ClickHouse/pull/75320) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrige un fallo en la caché de esquemas de Protobuf que puede producirse durante la salida en formato Protobuf y durante la ejecución en paralelo de la consulta `SYSTEM DROP FORMAT SCHEMA CACHE`. [#75357](https://github.com/ClickHouse/ClickHouse/pull/75357) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un posible error lógico o un problema de memoria no inicializada cuando un filtro de `HAVING` se empuja hacia abajo con réplicas en paralelo. [#75363](https://github.com/ClickHouse/ClickHouse/pull/75363) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Ocultar información sensible en las `table functions` `icebergS3`, `icebergAzure` y en los motores de tabla. [#75378](https://github.com/ClickHouse/ClickHouse/pull/75378) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La función `TRIM` con caracteres de recorte vacíos calculados ahora se gestiona correctamente. Ejemplo: `SELECT TRIM(LEADING concat('') FROM 'foo')` (incidencia [#69922](https://github.com/ClickHouse/ClickHouse/issues/69922)). [#75399](https://github.com/ClickHouse/ClickHouse/pull/75399) ([Manish Gill](https://github.com/mgill25)).
* Se corrige una condición de carrera en IOutputFormat. [#75448](https://github.com/ClickHouse/ClickHouse/pull/75448) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un posible error `Elements ... and ... of Nested data structure ... (Array columns) have different array sizes` al usar subcolumnas JSON de tipo Array en JOIN sobre tablas distribuidas. [#75512](https://github.com/ClickHouse/ClickHouse/pull/75512) ([Pavel Kruglov](https://github.com/Avogar)).
* Soluciona la corrupción de datos con `CODEC(ZSTD, DoubleDelta)`. Cierra [#70031](https://github.com/ClickHouse/ClickHouse/issues/70031). [#75548](https://github.com/ClickHouse/ClickHouse/pull/75548) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrige la interacción entre allow\_feature\_tier y el ajuste de compatibilidad de MergeTree. [#75635](https://github.com/ClickHouse/ClickHouse/pull/75635) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige el valor incorrecto de processed\_rows en system.s3queue\_log cuando se reintenta un archivo. [#75666](https://github.com/ClickHouse/ClickHouse/pull/75666) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se respeta `materialized_views_ignore_errors` cuando una vista materializada escribe en un motor URL y se produce un problema de conectividad. [#75679](https://github.com/ClickHouse/ClickHouse/pull/75679) ([Christoph Wurm](https://github.com/cwurm)).
* Se corrigieron fallos poco frecuentes al leer de una tabla `MergeTree` después de múltiples consultas `RENAME` asíncronas (con `alter_sync = 0`) entre columnas con tipos diferentes. [#75693](https://github.com/ClickHouse/ClickHouse/pull/75693) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el error `Block structure mismatch in QueryPipeline stream` que se producía en algunas consultas con `UNION ALL`. [#75715](https://github.com/ClickHouse/ClickHouse/pull/75715) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Reconstruir la proyección al ejecutar ALTER MODIFY en su columna PK. Anteriormente, esto podía provocar errores `CANNOT_READ_ALL_DATA` durante las consultas después de modificar con ALTER la columna usada en la PK de la proyección. [#75720](https://github.com/ClickHouse/ClickHouse/pull/75720) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige el resultado incorrecto de `ARRAY JOIN` en subconsultas escalares (con el analizador). [#75732](https://github.com/ClickHouse/ClickHouse/pull/75732) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió la desreferenciación de un puntero nulo en `DistinctSortedStreamTransform`. [#75734](https://github.com/ClickHouse/ClickHouse/pull/75734) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigió el comportamiento de `allow_suspicious_ttl_expressions`. [#75771](https://github.com/ClickHouse/ClickHouse/pull/75771) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Se corrige la lectura de memoria no inicializada en la función `translate`. Esto cierra [#75592](https://github.com/ClickHouse/ClickHouse/issues/75592). [#75794](https://github.com/ClickHouse/ClickHouse/pull/75794) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Propagar la configuración de formato a JSON al formatear cadenas en Native format. [#75832](https://github.com/ClickHouse/ClickHouse/pull/75832) ([Pavel Kruglov](https://github.com/Avogar)).
* Se registró en el historial de cambios de la configuración la activación predeterminada de `parallel hash` como algoritmo de join en la v24.12. Esto significa que ClickHouse seguirá realizando el join con `non-parallel hash` si se configura un nivel de compatibilidad anterior a la v24.12. [#75870](https://github.com/ClickHouse/ClickHouse/pull/75870) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrigió un error por el que las tablas con índices min-max añadidos implícitamente no podían copiarse en una nueva tabla (incidencia [#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` permite abrir bibliotecas arbitrarias desde el sistema de archivos, por lo que solo es seguro ejecutarlo dentro de un entorno aislado. Para evitar una vulnerabilidad cuando se ejecuta cerca de clickhouse-server, limitaremos las rutas de las bibliotecas a una ubicación especificada en la configuración. Esta vulnerabilidad fue descubierta a través del [programa de recompensas por errores de ClickHouse](https://github.com/ClickHouse/ClickHouse/issues/38986) por **Arseniy Dugin**. [#75954](https://github.com/ClickHouse/ClickHouse/pull/75954) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Resultó que usamos la serialización JSON para algunos metadatos, y eso fue un error, porque JSON no admite datos binarios dentro de literales de cadena, incluidos los bytes nulos. Las consultas SQL pueden contener datos binarios y UTF-8 no válido, así que también tenemos que admitir esto en nuestros archivos de metadatos. Al mismo tiempo, `JSONEachRow` de ClickHouse y formatos similares lo resuelven apartándose del estándar JSON para permitir una conversión de ida y vuelta perfecta de los datos binarios. Consulte la explicación aquí: [https://github.com/ClickHouse/ClickHouse/pull/73668#issuecomment-2560501790](https://github.com/ClickHouse/ClickHouse/pull/73668#issuecomment-2560501790). La solución es hacer que la biblioteca `Poco::JSON` sea coherente con la serialización del formato JSON en ClickHouse. Esto cierra [#73668](https://github.com/ClickHouse/ClickHouse/issues/73668). [#75963](https://github.com/ClickHouse/ClickHouse/pull/75963) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige la comprobación de los límites de commit en el almacenamiento `S3Queue`. [#76104](https://github.com/ClickHouse/ClickHouse/pull/76104) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el problema al adjuntar tablas MergeTree con índices automáticos (`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)).
* Se corrigió un problema por el que no se imprimían las trazas de pila de los hilos padre de un trabajo (configuración `enable_job_stack_trace`). Se corrigió un problema por el que la configuración `enable_job_stack_trace` no se propagaba correctamente a los hilos, lo que hacía que el contenido de la traza de pila no siempre respetara esta configuración. [#76191](https://github.com/ClickHouse/ClickHouse/pull/76191) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige una comprobación incorrecta de permisos por la que `ALTER RENAME` requería el privilegio `CREATE USER`. Cierra [#74372](https://github.com/ClickHouse/ClickHouse/issues/74372). [#76241](https://github.com/ClickHouse/ClickHouse/pull/76241) ([pufit](https://github.com/pufit)).
* Se corrige reinterpretAs con FixedString en arquitecturas big-endian. [#76253](https://github.com/ClickHouse/ClickHouse/pull/76253) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un error lógico en S3Queue: "Se esperaba que el procesador actual {} fuera igual a {} para el bucket {}". [#76358](https://github.com/ClickHouse/ClickHouse/pull/76358) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un interbloqueo en `ALTER` con la base de datos Memory. [#76359](https://github.com/ClickHouse/ClickHouse/pull/76359) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un error lógico en el análisis de índices si la condición de `WHERE` contiene la función `pointInPolygon`. [#76360](https://github.com/ClickHouse/ClickHouse/pull/76360) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió una posible llamada insegura en el manejador de señales. [#76549](https://github.com/ClickHouse/ClickHouse/pull/76549) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige el soporte de claves inversas en PartsSplitter. Esto corrige [#73400](https://github.com/ClickHouse/ClickHouse/issues/73400). [#73418](https://github.com/ClickHouse/ClickHouse/pull/73418) ([Amos Bird](https://github.com/amosbird)).

#### Mejora de compilación/pruebas/empaquetado

* Se admite la compilación de HDFS tanto en Mac ARM como en Intel. [#74244](https://github.com/ClickHouse/ClickHouse/pull/74244) ([Yan Xin](https://github.com/yxheartipp)).
* Se habilitan ICU y GRPC al realizar compilación cruzada para Darwin. [#75922](https://github.com/ClickHouse/ClickHouse/pull/75922) ([Raúl Marín](https://github.com/Algunenano)).
* Se actualiza a LLVM 19 integrado. [#75148](https://github.com/ClickHouse/ClickHouse/pull/75148) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se deshabilita el acceso de red para el usuario predeterminado en la imagen de Docker. [#75259](https://github.com/ClickHouse/ClickHouse/pull/75259) ([Mikhail f. Shiryaev](https://github.com/Felixoid)). Todas las acciones relacionadas con clickhouse-server se convierten en una función y solo se ejecutan al iniciar el binario predeterminado en `entrypoint.sh`. Esta mejora, largamente pospuesta, se propuso en [#50724](https://github.com/ClickHouse/ClickHouse/issues/50724). Se añadió la opción `--users` a `clickhouse-extract-from-config` para obtener valores de `users.xml`. [#75643](https://github.com/ClickHouse/ClickHouse/pull/75643) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se eliminan alrededor de 20 MB de código muerto del binario. [#76226](https://github.com/ClickHouse/ClickHouse/pull/76226) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="251">
  ### Versión de ClickHouse 25.1, 2025-01-28
</div>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* `JSONEachRowWithProgress` escribirá el progreso cada vez que se produzca. En versiones anteriores, el progreso solo se mostraba después de cada bloque del resultado, lo que lo hacía inútil. Se ha cambiado la forma de mostrar el progreso: no se mostrarán valores cero. Esto cierra [#70800](https://github.com/ClickHouse/ClickHouse/issues/70800). [#73834](https://github.com/ClickHouse/ClickHouse/pull/73834) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las tablas `Merge` unificarán la estructura de las tablas subyacentes utilizando una unión de sus columnas y derivando tipos comunes. Esto cierra [#64864](https://github.com/ClickHouse/ClickHouse/issues/64864). En ciertos casos, este cambio podría ser incompatible con versiones anteriores. Un ejemplo es cuando no hay un tipo común entre tablas, pero la conversión al tipo de la primera tabla sigue siendo posible, como en el caso de UInt64 e Int64 o de cualquier tipo numérico y String. Si desea volver al comportamiento anterior, establezca `merge_table_max_tables_to_look_for_schema_inference` en `1` o `compatibility` en `24.12` o una versión anterior. [#73956](https://github.com/ClickHouse/ClickHouse/pull/73956) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El formato de salida Parquet convierte las columnas Date y DateTime en tipos de fecha y hora compatibles con Parquet, en lugar de escribirlas como números sin procesar. `DateTime` pasa a ser `DateTime64(3)` (antes: `UInt32`); la configuración `output_format_parquet_datetime_as_uint32` restaura el comportamiento anterior. `Date` pasa a ser `Date32` (antes: `UInt16`). [#70950](https://github.com/ClickHouse/ClickHouse/pull/70950) ([Michael Kolupaev](https://github.com/al13n321)).
* Ya no se permiten de forma predeterminada tipos no comparables (como `JSON`/`Object`/`AggregateFunction`) en `ORDER BY` ni en las funciones de comparación `less/greater/equal/etc`. [#73276](https://github.com/ClickHouse/ClickHouse/pull/73276) ([Pavel Kruglov](https://github.com/Avogar)).
* El engine de base de datos obsoleto `MaterializedMySQL` se ha eliminado y ya no está disponible. [#73879](https://github.com/ClickHouse/ClickHouse/pull/73879) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El origen de diccionario `mysql` ya no ejecuta la consulta `SHOW TABLE STATUS`, porque no aporta ningún valor para las tablas InnoDB ni para ninguna versión reciente de MySQL. Esto cierra [#72636](https://github.com/ClickHouse/ClickHouse/issues/72636). Este cambio es compatible con versiones anteriores, pero se incluye en esta categoría para que tenga la oportunidad de advertirlo. [#73914](https://github.com/ClickHouse/ClickHouse/pull/73914) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las consultas `CHECK TABLE` ahora requieren un permiso `CHECK` independiente. En versiones anteriores, bastaba con tener el permiso `SHOW TABLES` para ejecutar estas consultas. Pero una consulta `CHECK TABLE` puede ser costosa, y los límites habituales de complejidad de consulta para las consultas `SELECT` no se le aplican. Esto generaba un posible DoS. [#74471](https://github.com/ClickHouse/ClickHouse/pull/74471) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La función `h3ToGeo()` ahora devuelve los resultados en el orden `(lat, lon)` (que es el orden estándar para las funciones geométricas). Los usuarios que deseen conservar el orden heredado `(lon, lat)` pueden establecer la configuración `h3togeo_lon_lat_result_order = true`. [#74719](https://github.com/ClickHouse/ClickHouse/pull/74719) ([Manish Gill](https://github.com/mgill25)).
* Un nuevo driver de MongoDB es ahora el predeterminado. Los usuarios que deseen seguir usando el driver heredado pueden establecer la configuración del servidor `use_legacy_mongodb_integration` en true. [#73359](https://github.com/ClickHouse/ClickHouse/pull/73359) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se añadió la capacidad de aplicar mutaciones no finalizadas (no materializadas por el proceso en segundo plano) durante la ejecución de consultas `SELECT` inmediatamente después de enviarlas. Se puede habilitar mediante la configuración `apply_mutations_on_fly`. [#74877](https://github.com/ClickHouse/ClickHouse/pull/74877) ([Anton Popov](https://github.com/CurtizJ)).
* Se implementa la poda de particiones en tablas `Iceberg` para operaciones de transformación de particiones relacionadas con el tiempo en Iceberg. [#72044](https://github.com/ClickHouse/ClickHouse/pull/72044) ([Daniil Ivanik](https://github.com/divanik)).
* Se admiten subcolumnas en la clave de ordenación de MergeTree y en los índices de salto. [#72644](https://github.com/ClickHouse/ClickHouse/pull/72644) ([Pavel Kruglov](https://github.com/Avogar)).
* Se admite la lectura de valores `HALF_FLOAT` desde `Apache Arrow`/`Parquet`/`ORC` (se leen como `Float32`). Esto cierra [#72960](https://github.com/ClickHouse/ClickHouse/issues/72960). Ten en cuenta que el half float IEEE-754 no es lo mismo que `BFloat16`. Cierra [#73835](https://github.com/ClickHouse/ClickHouse/issues/73835). [#73836](https://github.com/ClickHouse/ClickHouse/pull/73836) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La tabla `system.trace_log` contendrá dos nuevas columnas, `symbols` y `lines`, que contienen una traza de pila simbolizada. Esto permite recopilar y exportar fácilmente información de perfilado. Esto se controla mediante el valor de configuración del servidor `symbolize` dentro de `trace_log` y está habilitado de forma predeterminada. [#73896](https://github.com/ClickHouse/ClickHouse/pull/73896) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade una nueva función, `generateSerialID`, que puede utilizarse para generar números autoincrementales en tablas. Continuación de [#64310](https://github.com/ClickHouse/ClickHouse/issues/64310) por [kazalika](https://github.com/kazalika). Esto cierra [#62485](https://github.com/ClickHouse/ClickHouse/issues/62485). [#73950](https://github.com/ClickHouse/ClickHouse/pull/73950) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la sintaxis `query1 PARALLEL WITH query2 PARALLEL WITH query3 ... PARALLEL WITH queryN` para consultas DDL. Esto significa que las subconsultas `{query1, query2, ... queryN}` pueden ejecutarse en paralelo entre sí (y es preferible). [#73983](https://github.com/ClickHouse/ClickHouse/pull/73983) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadió una caché en memoria para los gránulos deserializados de índices de omisión. Esto debería acelerar las consultas repetidas que usan índices de omisión. El tamaño de la nueva caché se controla mediante las opciones de configuración del servidor `skipping_index_cache_size` y `skipping_index_cache_max_entries`. La motivación original de esta caché fueron los índices de similitud vectorial, que ahora son mucho más rápidos. [#70102](https://github.com/ClickHouse/ClickHouse/pull/70102) ([Robert Schulze](https://github.com/rschu1ze)).
* Ahora, la interfaz web integrada incluye una barra de progreso durante la ejecución de las consultas. Permite cancelar consultas. Muestra el número total de registros e información detallada sobre la velocidad. La tabla puede renderizarse de forma incremental en cuanto llegan los datos. Se habilitó la compresión HTTP. La renderización de la tabla se volvió más rápida. El encabezado de la tabla ahora queda fijo. Permite seleccionar celdas y desplazarse por ellas con las teclas de flecha. Se corrige el problema por el que el contorno de la celda seleccionada la hace más pequeña. Las celdas ya no se expanden al pasar el ratón por encima, sino solo al seleccionarlas. El momento de dejar de renderizar los datos entrantes se decide en el cliente en lugar de en el servidor. Se resaltan los grupos de dígitos en los números. El diseño general se renovó y se volvió más marcado. Comprueba si el servidor es accesible y si las credenciales son correctas, y muestra la versión del servidor y el tiempo de actividad. El icono de la nube tiene contorno en todas las fuentes, incluso en Safari. Los enteros grandes dentro de tipos de datos anidados se mostrarán mejor. Mostrará inf/nan correctamente. Mostrará los tipos de datos al pasar el ratón sobre el encabezado de una columna. [#74204](https://github.com/ClickHouse/ClickHouse/pull/74204) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió la capacidad de crear índices min-max (de omisión) de forma predeterminada para las columnas gestionadas por MergeTree mediante los ajustes `add_minmax_index_for_numeric_columns` (para columnas numéricas) y `add_minmax_index_for_string_columns` (para columnas de texto). Por ahora, ambos ajustes están deshabilitados, por lo que todavía no hay cambios de comportamiento. [#74266](https://github.com/ClickHouse/ClickHouse/pull/74266) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Añade los campos `script_query_number` y `script_line_number` a `system.query_log`, a ClientInfo en el protocolo nativo y a los logs del servidor. Esto cierra [#67542](https://github.com/ClickHouse/ClickHouse/issues/67542). Reconocimiento a [pinsvin00](https://github.com/pinsvin00) por haber impulsado esta funcionalidad previamente en [#68133](https://github.com/ClickHouse/ClickHouse/issues/68133). [#74477](https://github.com/ClickHouse/ClickHouse/pull/74477) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió la función de agregación `sequenceMatchEvents`, que devuelve las marcas temporales de los eventos coincidentes de la cadena de eventos más larga del patrón. [#72349](https://github.com/ClickHouse/ClickHouse/pull/72349) ([UnamedRus](https://github.com/UnamedRus)).
* Se agregó la función `arrayNormalizedGini`. [#72823](https://github.com/ClickHouse/ClickHouse/pull/72823) ([flynn](https://github.com/ucasfl)).
* Se añade soporte para el operador de resta en `DateTime64`, lo que permite la resta entre valores `DateTime64`, así como con `DateTime`. [#74482](https://github.com/ClickHouse/ClickHouse/pull/74482) ([Li Yin](https://github.com/liyinsg)).

<div id="experimental-features">
  #### Características experimentales
</div>

* El tipo de dato `BFloat16` ya está listo para producción. [#73840](https://github.com/ClickHouse/ClickHouse/pull/73840) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="performance-improvement">
  #### Mejora del rendimiento
</div>

* Se optimizó la función `indexHint`. Ahora, las columnas que solo se usan como argumentos de la función `indexHint` no se leen de la tabla. [#74314](https://github.com/ClickHouse/ClickHouse/pull/74314) ([Anton Popov](https://github.com/CurtizJ)). Si la función `indexHint` es una pieza clave de su arquitectura de datos empresarial, esta optimización le salvará la vida.
* Contabilización más precisa de la configuración `max_joined_block_size_rows` para el algoritmo JOIN `parallel_hash`. Ayuda a evitar un aumento del consumo de memoria en comparación con el algoritmo `hash`. [#74630](https://github.com/ClickHouse/ClickHouse/pull/74630) ([Nikita Taranov](https://github.com/nickitat)).
* Se añade compatibilidad con la optimización de push down de predicados a nivel del plan de consulta para el paso `MergingAggregated`. Mejora el rendimiento de algunas consultas con el analizador. [#74073](https://github.com/ClickHouse/ClickHouse/pull/74073) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se eliminó de la fase de probe del algoritmo JOIN `parallel_hash` la división por hash de los bloques de la tabla izquierda. [#73089](https://github.com/ClickHouse/ClickHouse/pull/73089) ([Nikita Taranov](https://github.com/nickitat)).
* Optimizar el formato de entrada RowBinary. Cierra [#63805](https://github.com/ClickHouse/ClickHouse/issues/63805). [#65059](https://github.com/ClickHouse/ClickHouse/pull/65059) ([Pavel Kruglov](https://github.com/Avogar)).
* Escribe partes de nivel 1 si `optimize_on_insert` está habilitado. Esto permite usar varias optimizaciones de consultas con `FINAL` para partes recién escritas. [#73132](https://github.com/ClickHouse/ClickHouse/pull/73132) ([Anton Popov](https://github.com/CurtizJ)).
* Se acelera la deserialización de cadenas con una optimización de bajo nivel. [#65948](https://github.com/ClickHouse/ClickHouse/pull/65948) ([Nikita Taranov](https://github.com/nickitat)).
* Al realizar una comparación de igualdad entre registros, como durante las fusiones, empiece a comparar las filas por las columnas con mayor probabilidad de ser distintas. [#63780](https://github.com/ClickHouse/ClickHouse/pull/63780) ([UnamedRus](https://github.com/UnamedRus)).
* Mejora el rendimiento de grace hash join al reordenar por claves la tabla del lado derecho del join. [#72237](https://github.com/ClickHouse/ClickHouse/pull/72237) ([kevinyhzou](https://github.com/KevinyhZou)).
* Permite que `arrayROCAUC` y `arrayAUCPR` calculen el área parcial de la curva completa, de modo que el cálculo pueda paralelizarse en conjuntos de datos enormes. [#72904](https://github.com/ClickHouse/ClickHouse/pull/72904) ([Emmanuel](https://github.com/emmanuelsdias)).
* Evitar generar demasiados hilos inactivos. [#72920](https://github.com/ClickHouse/ClickHouse/pull/72920) ([Guo Wangyang](https://github.com/guowangy)).
* No listar las claves del almacenamiento de blobs si solo hay expansión entre llaves en la función de tabla. Cierra [#73333](https://github.com/ClickHouse/ClickHouse/issues/73333). [#73518](https://github.com/ClickHouse/ClickHouse/pull/73518) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Optimización de evaluación de cortocircuito para funciones que se ejecutan sobre argumentos Nullable. [#73820](https://github.com/ClickHouse/ClickHouse/pull/73820) ([李扬](https://github.com/taiyang-li)).
* No aplicar `maskedExecute` a columnas que no sean funciones; mejorar el rendimiento de la evaluación con cortocircuito. [#73965](https://github.com/ClickHouse/ClickHouse/pull/73965) ([lgbo](https://github.com/lgbo-ustc)).
* Se desactiva la detección automática de cabeceras en los formatos de entrada de `Kafka`/`NATS`/`RabbitMQ`/`FileLog` para mejorar el rendimiento. [#74006](https://github.com/ClickHouse/ClickHouse/pull/74006) ([Azat Khuzhin](https://github.com/azat)).
* Ejecutar el pipeline con un mayor grado de paralelismo tras la agregación con grouping sets. [#74082](https://github.com/ClickHouse/ClickHouse/pull/74082) ([Nikita Taranov](https://github.com/nickitat)).
* Se reduce la sección crítica en `MergeTreeReadPool`. [#74202](https://github.com/ClickHouse/ClickHouse/pull/74202) ([Guo Wangyang](https://github.com/guowangy)).
* Mejora del rendimiento de las réplicas paralelas. La deserialización de paquetes en el iniciador de la consulta, para los paquetes no relacionados con el protocolo de réplicas paralelas, ahora siempre se realiza en el hilo del pipeline. Antes, podía realizarse en un hilo encargado de planificar el pipeline, lo que podía hacer que el iniciador respondiera con menos rapidez y retrasar la ejecución del pipeline. [#74398](https://github.com/ClickHouse/ClickHouse/pull/74398) ([Igor Nikonov](https://github.com/devcrafter)).
* Mejora el rendimiento de las solicitudes múltiples de mayor tamaño en Keeper. [#74849](https://github.com/ClickHouse/ClickHouse/pull/74849) ([Antonio Andelic](https://github.com/antonio2368)).
* Usar envoltorios de logs por valor y no asignarlos en el heap. [#74034](https://github.com/ClickHouse/ClickHouse/pull/74034) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Restablecer en segundo plano la conexión con las réplicas de diccionarios de MySQL y Postgres para no retrasar las solicitudes a los diccionarios correspondientes. [#71101](https://github.com/ClickHouse/ClickHouse/pull/71101) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Las réplicas paralelas usaban información histórica sobre la disponibilidad de las réplicas para mejorar su selección, pero no actualizaban el recuento de errores de la réplica cuando la conexión no estaba disponible. Este PR actualiza el recuento de errores de la réplica cuando la conexión no está disponible. [#72666](https://github.com/ClickHouse/ClickHouse/pull/72666) ([zoomxi](https://github.com/zoomxi)).
* Se añadió un ajuste de MergeTree, `materialize_skip_indexes_on_merge`, que suprime la creación de índices de omisión durante la fusión. Esto permite controlar explícitamente (mediante `ALTER TABLE [..] MATERIALIZE INDEX [...]`) cuándo se crean los índices de omisión. Esto puede ser útil si los índices de omisión son costosos de generar (p. ej., índices de similitud vectorial). [#74401](https://github.com/ClickHouse/ClickHouse/pull/74401) ([Robert Schulze](https://github.com/rschu1ze)).
* Optimiza las solicitudes a Keeper en Storage(S3/Azure)Queue. [#74410](https://github.com/ClickHouse/ClickHouse/pull/74410) ([Kseniia Sumarokova](https://github.com/kssenii)). [#74538](https://github.com/ClickHouse/ClickHouse/pull/74538) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se usan hasta `1000` réplicas paralelas de forma predeterminada. [#74504](https://github.com/ClickHouse/ClickHouse/pull/74504) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Mejora de la reutilización de sesiones HTTP al leer desde el disco S3 ([#72401](https://github.com/ClickHouse/ClickHouse/issues/72401)). [#74548](https://github.com/ClickHouse/ClickHouse/pull/74548) ([Julian Maicher](https://github.com/jmaicher)).

<div id="improvement">
  #### Mejora
</div>

* Permite SETTINGS en una consulta CREATE TABLE con un ENGINE implícito y mezclar la configuración del engine con la de la consulta. [#73120](https://github.com/ClickHouse/ClickHouse/pull/73120) ([Raúl Marín](https://github.com/Algunenano)).
* Se habilita `use_hive_partitioning` de forma predeterminada. [#71636](https://github.com/ClickHouse/ClickHouse/pull/71636) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se admite CAST y ALTER entre tipos JSON con parámetros diferentes. [#72303](https://github.com/ClickHouse/ClickHouse/pull/72303) ([Pavel Kruglov](https://github.com/Avogar)).
* Soporte para la comparación de igualdad de valores de una columna JSON. [#72991](https://github.com/ClickHouse/ClickHouse/pull/72991) ([Pavel Kruglov](https://github.com/Avogar)).
* Se mejora el formato de los identificadores con subcolumnas JSON para evitar comillas invertidas innecesarias. [#73085](https://github.com/ClickHouse/ClickHouse/pull/73085) ([Pavel Kruglov](https://github.com/Avogar)).
* Mejoras en las métricas interactivas. Se corrigen las métricas de las réplicas paralelas que no se mostraban por completo. Se muestran las métricas en orden según la actualización más reciente y, después, lexicográficamente por nombre. No se muestran métricas obsoletas. [#71631](https://github.com/ClickHouse/ClickHouse/pull/71631) ([Julia Kartseva](https://github.com/jkartseva)).
* Hacer que el formato de salida JSON se muestre con formato legible de forma predeterminada. Añadir la nueva configuración `output_format_json_pretty_print` para controlarlo y activarla de forma predeterminada. [#72148](https://github.com/ClickHouse/ClickHouse/pull/72148) ([Pavel Kruglov](https://github.com/Avogar)).
* Permitir `LowCardinality(UUID)` de forma predeterminada. Esto ha resultado práctico para los clientes de ClickHouse Cloud. [#73826](https://github.com/ClickHouse/ClickHouse/pull/73826) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora del mensaje durante la instalación. [#73827](https://github.com/ClickHouse/ClickHouse/pull/73827) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora del mensaje de restablecimiento de contraseña para ClickHouse Cloud. [#73831](https://github.com/ClickHouse/ClickHouse/pull/73831) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora el mensaje de error de una tabla File que no puede añadir datos al final de un archivo. [#73832](https://github.com/ClickHouse/ClickHouse/pull/73832) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Solicitar confirmación cuando un usuario pida accidentalmente mostrar un formato binario (como Native, Parquet, Avro) en la terminal. Esto cierra [#59524](https://github.com/ClickHouse/ClickHouse/issues/59524). [#73833](https://github.com/ClickHouse/ClickHouse/pull/73833) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Resalta los espacios en blanco finales en los formatos Pretty y Vertical en la terminal para mejorar la claridad. Esto se controla con la configuración `output_format_pretty_highlight_trailing_spaces`. Implementación inicial de [Braden Burns](https://github.com/bradenburns) en [#72996](https://github.com/ClickHouse/ClickHouse/issues/72996). Cierra [#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` y `clickhouse-local` detectarán automáticamente la compresión de stdin cuando esta se redirija desde un archivo. Con esto se cierra [#70865](https://github.com/ClickHouse/ClickHouse/issues/70865). [#73848](https://github.com/ClickHouse/ClickHouse/pull/73848) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Recorta por defecto los nombres de columna demasiado largos en los formatos Pretty. Esto se controla con las configuraciones `output_format_pretty_max_column_name_width_cut_to` y `output_format_pretty_max_column_name_width_min_chars_to_cut`. Da continuidad al trabajo de [tanmaydatta](https://github.com/tanmaydatta) en [#66502](https://github.com/ClickHouse/ClickHouse/issues/66502). Cierra [#65968](https://github.com/ClickHouse/ClickHouse/issues/65968). [#73851](https://github.com/ClickHouse/ClickHouse/pull/73851) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Hacer que los formatos `Pretty` sean más vistosos: compactar bloques si no ha transcurrido mucho tiempo desde la salida del bloque anterior. Esto se controla mediante las nuevas opciones de configuración `output_format_pretty_squash_consecutive_ms` (50 ms de forma predeterminada) y `output_format_pretty_squash_max_wait_ms` (1000 ms de forma predeterminada). Continuación de [#49537](https://github.com/ClickHouse/ClickHouse/issues/49537). Esto cierra [#49153](https://github.com/ClickHouse/ClickHouse/issues/49153). [#73852](https://github.com/ClickHouse/ClickHouse/pull/73852) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade una métrica del número de partes de origen que están fusionándose actualmente. Esto cierra [#70809](https://github.com/ClickHouse/ClickHouse/issues/70809). [#73868](https://github.com/ClickHouse/ClickHouse/pull/73868) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Resalta las columnas en el formato `Vertical` cuando la salida se envía a un terminal. Esto puede desactivarse con la configuración `output_format_pretty_color`. [#73898](https://github.com/ClickHouse/ClickHouse/pull/73898) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se mejoró la compatibilidad con MySQL hasta el punto de que ahora `mysqlsh` (una CLI avanzada de MySQL de Oracle) puede conectarse a ClickHouse. Esto es necesario para facilitar las pruebas. [#73912](https://github.com/ClickHouse/ClickHouse/pull/73912) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Los formatos Pretty pueden mostrar campos multilínea dentro de una celda de una tabla, lo que mejora la legibilidad. Esta opción está activada de forma predeterminada y puede controlarse mediante la configuración `output_format_pretty_multiline_fields`. Continuación del trabajo de [Volodyachan](https://github.com/Volodyachan) en [#64094](https://github.com/ClickHouse/ClickHouse/issues/64094). Esto cierra [#56912](https://github.com/ClickHouse/ClickHouse/issues/56912). [#74032](https://github.com/ClickHouse/ClickHouse/pull/74032) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Exponer los encabezados HTTP X-ClickHouse a JavaScript en el navegador. Esto facilita la escritura de aplicaciones. [#74180](https://github.com/ClickHouse/ClickHouse/pull/74180) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El formato `JSONEachRowWithProgress` incluirá eventos con metadatos, así como totales y extremos. También incluye `rows_before_limit_at_least` y `rows_before_aggregation`. El formato muestra correctamente la excepción si llega después de resultados parciales. El progreso ahora incluye el tiempo transcurrido en nanosegundos. Al final, se emite un último evento de progreso. El progreso durante la ejecución de la consulta no se imprimirá con una frecuencia mayor que la indicada por la configuración `interactive_delay`. [#74181](https://github.com/ClickHouse/ClickHouse/pull/74181) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El icono del reloj de arena girará de forma fluida en la UI de Play. [#74182](https://github.com/ClickHouse/ClickHouse/pull/74182) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Incluso si la respuesta HTTP está comprimida, envíe los paquetes en cuanto lleguen. Esto permite que el navegador reciba paquetes de progreso y datos comprimidos. [#74201](https://github.com/ClickHouse/ClickHouse/pull/74201) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Si el número de registros de salida es mayor que N = `output_format_pretty_max_rows`, en lugar de mostrar solo las primeras N filas, recortaremos la tabla de salida por la mitad y mostraremos las primeras N/2 filas y las últimas N/2 filas. Continuación de [#64200](https://github.com/ClickHouse/ClickHouse/issues/64200). Esto cierra [#59502](https://github.com/ClickHouse/ClickHouse/issues/59502). [#73929](https://github.com/ClickHouse/ClickHouse/pull/73929) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permitir un algoritmo de planificación de join más general cuando el algoritmo de hash join está habilitado. [#71926](https://github.com/ClickHouse/ClickHouse/pull/71926) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Permite crear un índice bloom\_filter en columnas con el tipo de dato `DateTime64`. [#66416](https://github.com/ClickHouse/ClickHouse/pull/66416) ([Yutong Xiao](https://github.com/YutSean)).
* Cuando `min_age_to_force_merge_seconds` y `min_age_to_force_merge_on_partition_only` están activados, el proceso de fusión de partes ignorará el límite máximo de bytes. [#73656](https://github.com/ClickHouse/ClickHouse/pull/73656) ([Kai Zhu](https://github.com/nauu)).
* Se añadieron encabezados HTTP a la tabla de logs de spans de OpenTelemetry para mejorar la trazabilidad. [#70516](https://github.com/ClickHouse/ClickHouse/pull/70516) ([jonymohajanGmail](https://github.com/jonymohajanGmail)).
* Admite escribir archivos `orc` con una zona horaria personalizada, en lugar de usar siempre la zona horaria `GMT`. [#70615](https://github.com/ClickHouse/ClickHouse/pull/70615) ([kevinyhzou](https://github.com/KevinyhZou)).
* Respetar la configuración de planificación de E/S al escribir copias de seguridad en distintas nubes. [#71093](https://github.com/ClickHouse/ClickHouse/pull/71093) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Añadir el alias `name` para la columna `metric` en `system.asynchronous_metrics`. [#71164](https://github.com/ClickHouse/ClickHouse/pull/71164) ([megao](https://github.com/jetgm)).
* Históricamente, por alguna razón, la consulta `ALTER TABLE MOVE PARTITION TO TABLE` comprobaba los permisos `SELECT` y `ALTER DELETE` en lugar del permiso específico `ALTER_MOVE_PARTITION`. Este PR pasa a utilizar este tipo de acceso. Por compatibilidad, este permiso también se concederá de forma implícita si se han concedido `SELECT` y `ALTER DELETE`, pero este comportamiento se eliminará en futuras versiones. Cierra [#16403](https://github.com/ClickHouse/ClickHouse/issues/16403). [#71632](https://github.com/ClickHouse/ClickHouse/pull/71632) ([pufit](https://github.com/pufit)).
* Lanzar una excepción al intentar materializar una columna en la clave de ordenación, en lugar de permitir que altere el orden de clasificación. [#71891](https://github.com/ClickHouse/ClickHouse/pull/71891) ([Peter Nguyen](https://github.com/petern48)).
* Ocultar secretos en `EXPLAIN QUERY TREE`. [#72025](https://github.com/ClickHouse/ClickHouse/pull/72025) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Soporte para tipos lógicos enteros de Parquet en el lector "native". [#72105](https://github.com/ClickHouse/ClickHouse/pull/72105) ([Arthur Passos](https://github.com/arthurpassos)).
* Solicitar credenciales de forma interactiva en el navegador si el usuario predeterminado requiere una contraseña. En versiones anteriores, el server devolvía HTTP 403; ahora, devuelve HTTP 401. [#72198](https://github.com/ClickHouse/ClickHouse/pull/72198) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Convertir los tipos de acceso `CREATE_USER`, `ALTER_USER`, `DROP_USER`, `CREATE_ROLE`, `ALTER_ROLE`, `DROP_ROLE` de globales a parametrizados. Esto significa que ahora puede conceder privilegios de administración de acceso de forma más precisa: [#72246](https://github.com/ClickHouse/ClickHouse/pull/72246) ([pufit](https://github.com/pufit)).
* Añadir la columna `latest_fail_error_code_name` a `system.mutations`. Necesitamos esta columna para introducir una nueva métrica sobre mutaciones bloqueadas y usarla para generar gráficos de los errores detectados en la nube, así como, opcionalmente, añadir una nueva alerta con menos ruido. [#72398](https://github.com/ClickHouse/ClickHouse/pull/72398) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Reducir la cantidad de asignaciones de memoria en la consulta `ATTACH PARTITION`. [#72583](https://github.com/ClickHouse/ClickHouse/pull/72583) ([Konstantin Morozov](https://github.com/k-morozov)).
* El límite `max_bytes_before_external_sort` pasa a depender del consumo total de memoria de la consulta (antes era la cantidad de bytes en el bloque de ordenación de un único hilo de ordenación; ahora tiene el mismo significado que `max_bytes_before_external_group_by`: es el límite total de memoria para toda la consulta en todos los hilos). Además, se añadió otra configuración para controlar el tamaño del bloque en disco: `min_external_sort_block_bytes`. [#72598](https://github.com/ClickHouse/ClickHouse/pull/72598) ([Azat Khuzhin](https://github.com/azat)).
* Ignorar las restricciones de memoria del collector de trazas. [#72606](https://github.com/ClickHouse/ClickHouse/pull/72606) ([Azat Khuzhin](https://github.com/azat)).
* Se añaden las configuraciones del servidor `dictionaries_lazy_load` y `wait_dictionaries_load_at_startup` a `system.server_settings`. [#72664](https://github.com/ClickHouse/ClickHouse/pull/72664) ([Christoph Wurm](https://github.com/cwurm)).
* Añade la opción `max_backup_bandwidth` a la lista de opciones que se pueden especificar como parte de las consultas `BACKUP`/`RESTORE`. [#72665](https://github.com/ClickHouse/ClickHouse/pull/72665) ([Christoph Wurm](https://github.com/cwurm)).
* Reducción del nivel de registro de las partes replicadas que aparecen en el motor ReplicatedMergeTree para ayudar a minimizar el volumen de logs generado en un clúster replicado. [#72876](https://github.com/ClickHouse/ClickHouse/pull/72876) ([mor-akamai](https://github.com/morkalfon)).
* Mejora la extracción de expresiones comunes en las disyunciones. Permite simplificar la expresión de filtro resultante incluso si no existe una subexpresión común para todas las disyunciones. Continuación de [#71537](https://github.com/ClickHouse/ClickHouse/issues/71537). [#73271](https://github.com/ClickHouse/ClickHouse/pull/73271) ([Dmitry Novik](https://github.com/novikd)).
* En `S3Queue`/`AzureQueue`, ahora se pueden añadir configuraciones a tablas que se crearon sin ellas. [#73283](https://github.com/ClickHouse/ClickHouse/pull/73283) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se incorpora la configuración `least_greatest_legacy_null_behavior` (valor predeterminado: `false`), que controla si las funciones `least` y `greatest` tratan los argumentos `NULL` devolviendo `NULL` incondicionalmente (si es `true`) o ignorándolos (si es `false`). [#73344](https://github.com/ClickHouse/ClickHouse/pull/73344) ([Robert Schulze](https://github.com/rschu1ze)).
* Usar peticiones múltiples de Keeper en el hilo de limpieza de ObjectStorageQueueMetadata. [#73357](https://github.com/ClickHouse/ClickHouse/pull/73357) ([Antonio Andelic](https://github.com/antonio2368)).
* Cuando ClickHouse se ejecuta dentro de un cgroup, seguiremos recopilando métricas asíncronas de todo el sistema relacionadas con la carga del sistema, la planificación de procesos, la memoria, etc. Pueden proporcionar señales útiles cuando ClickHouse es el único proceso del host con un alto consumo de recursos. [#73369](https://github.com/ClickHouse/ClickHouse/pull/73369) ([Nikita Taranov](https://github.com/nickitat)).
* En el almacenamiento `S3Queue`, ahora se permite transferir tablas ordenadas antiguas creadas antes de la versión 24.6 a la nueva estructura con buckets. [#73467](https://github.com/ClickHouse/ClickHouse/pull/73467) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade `system.azure_queue`, similar al `system.s3queue` existente. [#73477](https://github.com/ClickHouse/ClickHouse/pull/73477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La función `parseDateTime64` (y sus variantes) ahora devuelve resultados correctos para fechas de entrada anteriores a 1970 o posteriores a 2106. Ejemplo: `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)).
* Aborda algunos problemas de usabilidad de `clickhouse-disks` reportados por los usuarios. Cierra [#67136](https://github.com/ClickHouse/ClickHouse/issues/67136). [#73616](https://github.com/ClickHouse/ClickHouse/pull/73616) ([Daniil Ivanik](https://github.com/divanik)).
* Permite modificar la configuración de commit en el almacenamiento S3(Azure)Queue. (Las opciones de commit son: `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)).
* En S3(Azure)Queue de almacenamiento, se agrega el progreso entre orígenes para compararlo con la configuración del límite de commit. [#73641](https://github.com/ClickHouse/ClickHouse/pull/73641) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admiten opciones de configuración básicas en la consulta `BACKUP`/`RESTORE`. [#73650](https://github.com/ClickHouse/ClickHouse/pull/73650) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se tiene en cuenta `output_format_compression_level` en la salida Parquet. [#73651](https://github.com/ClickHouse/ClickHouse/pull/73651) ([Arthur Passos](https://github.com/arthurpassos)).
* Permite leer `fixed_size_list` de Apache Arrow como un `Array` en lugar de tratarlo como un tipo no compatible. [#73654](https://github.com/ClickHouse/ClickHouse/pull/73654) ([Julian Meyers](https://github.com/J-Meyers)).
* Añade dos motores de backup: `Memory` (conserva los backups dentro de la sesión actual del usuario) y `Null` (no conserva los backups en ningún sitio), pensado para pruebas. [#73690](https://github.com/ClickHouse/ClickHouse/pull/73690) ([Vitaly Baranov](https://github.com/vitlibar)).
* `concurrent_threads_soft_limit_num` y `concurrent_threads_soft_limit_num_ratio_to_cores` ahora se pueden cambiar sin reiniciar el servidor. [#73713](https://github.com/ClickHouse/ClickHouse/pull/73713) ([Sergei Trifonov](https://github.com/serxa)).
* Se añadió compatibilidad con tipos numéricos extendidos (`Decimal`, enteros grandes) en las funciones `formatReadable`. [#73765](https://github.com/ClickHouse/ClickHouse/pull/73765) ([Raúl Marín](https://github.com/Algunenano)).
* Soporte de TLS para la compatibilidad con el protocolo wire de Postgres. [#73812](https://github.com/ClickHouse/ClickHouse/pull/73812) ([scanhex12](https://github.com/scanhex12)).
* La función `isIPv4String` devolvía true si una dirección IPv4 válida iba seguida de un byte nulo, cuando en ese caso debería devolver false. Continuación de [#65387](https://github.com/ClickHouse/ClickHouse/issues/65387). [#73946](https://github.com/ClickHouse/ClickHouse/pull/73946) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Hacer que el código de error del protocolo wire de MySQL sea compatible con MySQL. Continuación de [#56831](https://github.com/ClickHouse/ClickHouse/issues/56831). Cierra [#50957](https://github.com/ClickHouse/ClickHouse/issues/50957). [#73948](https://github.com/ClickHouse/ClickHouse/pull/73948) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la configuración `validate_enum_literals_in_opearators` para validar los literales de `enum` en operadores como `IN` y `NOT IN` con respecto al tipo `enum`, y lanzar una excepción si el literal no es un valor `enum` válido. [#73985](https://github.com/ClickHouse/ClickHouse/pull/73985) ([Vladimir Cherkasov](https://github.com/vdimir)).
* En Storage `S3(Azure)Queue`, se confirman todos los archivos (en un único lote definido por la configuración de commit) en una sola transacción de Keeper. [#73991](https://github.com/ClickHouse/ClickHouse/pull/73991) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se deshabilitó la detección de cabecera para UDF ejecutables y diccionarios (podía provocar Function 'X': wrong result, expected Y row(s), actual Y-1). [#73992](https://github.com/ClickHouse/ClickHouse/pull/73992) ([Azat Khuzhin](https://github.com/azat)).
* Se añade la opción `distributed` para `EXPLAIN PLAN.` Ahora, `EXPLAIN distributed=1 ... ` añade el plan remoto a los pasos `ReadFromParallelRemote*`. [#73994](https://github.com/ClickHouse/ClickHouse/pull/73994) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió el tipo de retorno de not/xor con argumentos Dynamic. [#74013](https://github.com/ClickHouse/ClickHouse/pull/74013) ([Pavel Kruglov](https://github.com/Avogar)).
* Se permite cambiar `add_implicit_sign_column_constraint_for_colling_engine` después de crear la tabla. [#74014](https://github.com/ClickHouse/ClickHouse/pull/74014) ([Christoph Wurm](https://github.com/cwurm)).
* Compatibilidad con subcolumnas en la consulta `select` de una vista materializada. [#74030](https://github.com/ClickHouse/ClickHouse/pull/74030) ([Pavel Kruglov](https://github.com/Avogar)).
* Ahora hay tres formas sencillas de definir un prompt personalizado en `clickhouse-client`: 1. mediante el parámetro de línea de comandos `--prompt`, 2. en el archivo de configuración, mediante la opción `<prompt>[...]</prompt>`, y 3. también en el archivo de configuración, mediante la opción por conexión `<connections_credentials><prompt>[...]</prompt></connection_credentials>`. [#74168](https://github.com/ClickHouse/ClickHouse/pull/74168) ([Christoph Wurm](https://github.com/cwurm)).
* Detección automática de una conexión segura al conectarse al puerto 9440 en ClickHouse Client. [#74212](https://github.com/ClickHouse/ClickHouse/pull/74212) ([Christoph Wurm](https://github.com/cwurm)).
* Permitir autenticar a los usuarios solo con el nombre de usuario para http\_handlers (anteriormente también se requería que el usuario introdujera la contraseña). [#74221](https://github.com/ClickHouse/ClickHouse/pull/74221) ([Azat Khuzhin](https://github.com/azat)).
* La compatibilidad con los lenguajes de consulta alternativos PRQL y KQL se marcó como Experimental. Para usarlos, especifique los ajustes `allow_experimental_prql_dialect = 1` y `allow_experimental_kusto_dialect = 1`. [#74224](https://github.com/ClickHouse/ClickHouse/pull/74224) ([Robert Schulze](https://github.com/rschu1ze)).
* Se permite devolver el tipo Enum predeterminado en más funciones de agregación. [#74272](https://github.com/ClickHouse/ClickHouse/pull/74272) ([Raúl Marín](https://github.com/Algunenano)).
* En `OPTIMIZE TABLE`, ahora se puede especificar la palabra clave `FORCE` como alternativa a la palabra clave `FINAL` existente. [#74342](https://github.com/ClickHouse/ClickHouse/pull/74342) ([Robert Schulze](https://github.com/rschu1ze)).
* Se añade la métrica `IsServerShuttingDown`, necesaria para activar una alerta cuando el apagado del servidor tarda demasiado. [#74429](https://github.com/ClickHouse/ClickHouse/pull/74429) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Se añadieron a EXPLAIN los nombres de las tablas Iceberg. [#74485](https://github.com/ClickHouse/ClickHouse/pull/74485) ([alekseev-maksim](https://github.com/alekseev-maksim)).
* Se proporciona un mejor mensaje de error al usar RECURSIVE CTE con el analizador antiguo. [#74523](https://github.com/ClickHouse/ClickHouse/pull/74523) ([Raúl Marín](https://github.com/Algunenano)).
* Mostrar mensajes de error detallados en `system.errors`. [#74574](https://github.com/ClickHouse/ClickHouse/pull/74574) ([Vitaly Baranov](https://github.com/vitlibar)).
* Permitir usar una contraseña para la comunicación del cliente con clickhouse-keeper. Esta funcionalidad no es muy útil si se especifica una configuración SSL adecuada para el servidor y el cliente, pero aun así puede ser útil en algunos casos. La contraseña no puede tener más de 16 caracteres. No está relacionado con el modelo de autenticación de Keeper. [#74673](https://github.com/ClickHouse/ClickHouse/pull/74673) ([alesapin](https://github.com/alesapin)).
* Añadir un código de error para el recargador de configuración. [#74746](https://github.com/ClickHouse/ClickHouse/pull/74746) ([Garrett Thomas](https://github.com/garrettthomaskth)).
* Se añadió compatibilidad con direcciones IPv6 en las funciones de tabla y los motores de MySQL y PostgreSQL. [#74796](https://github.com/ClickHouse/ClickHouse/pull/74796) ([Mikhail Koviazin](https://github.com/mkmkme)).
* Se implementa la optimización de cortocircuito para `divideDecimal`. Corrige [#74280](https://github.com/ClickHouse/ClickHouse/issues/74280). [#74843](https://github.com/ClickHouse/ClickHouse/pull/74843) ([Kevin Mingtarja](https://github.com/kevinmingtarja)).
* Ahora los usuarios pueden especificarse en los scripts de inicio. [#74894](https://github.com/ClickHouse/ClickHouse/pull/74894) ([pufit](https://github.com/pufit)).
* Se añade compatibilidad con tokens SAS de Azure. [#72959](https://github.com/ClickHouse/ClickHouse/pull/72959) ([Azat Khuzhin](https://github.com/azat)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### Corrección de errores (fallo visible para el usuario en una versión estable oficial)
</div>

* Establece el nivel de compresión de Parquet solo si el códec de compresión lo admite. [#74659](https://github.com/ClickHouse/ClickHouse/pull/74659) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrigió una regresión que hacía que el uso de configuraciones regionales de collation con modificadores produjera un error. Por ejemplo, `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` ahora funciona. [#73544](https://github.com/ClickHouse/ClickHouse/pull/73544) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrige un problema que impedía crear un nodo SEQUENTIAL con keeper-client. [#64177](https://github.com/ClickHouse/ClickHouse/pull/64177) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrigió el recuento incorrecto de caracteres en las funciones `position`. [#71003](https://github.com/ClickHouse/ClickHouse/pull/71003) ([思维](https://github.com/heymind)).
* Las operaciones `RESTORE` para entidades de acceso requerían más permisos de los necesarios debido a revocaciones parciales no contempladas. Este PR corrige el problema. Cierra [#71853](https://github.com/ClickHouse/ClickHouse/issues/71853). [#71958](https://github.com/ClickHouse/ClickHouse/pull/71958) ([pufit](https://github.com/pufit)).
* Se evita la pausa tras `ALTER TABLE REPLACE/MOVE PARTITION FROM/TO TABLE`. Se recupera la configuración correcta para la planificación de tareas en segundo plano. [#72024](https://github.com/ClickHouse/ClickHouse/pull/72024) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Se corrige el manejo de las tuplas vacías en algunos formatos de entrada y salida (p. ej., Parquet, Arrow). [#72616](https://github.com/ClickHouse/ClickHouse/pull/72616) ([Michael Kolupaev](https://github.com/al13n321)).
* Las sentencias GRANT SELECT/INSERT a nivel de columna en bases de datos/tablas con comodines ahora devuelven un error. [#72646](https://github.com/ClickHouse/ClickHouse/pull/72646) ([Johann Gan](https://github.com/johanngan)).
* Corrige la situación en la que un usuario no puede ejecutar `REVOKE ALL ON *.*` debido a permisos implícitos en la entidad de acceso de destino. [#72872](https://github.com/ClickHouse/ClickHouse/pull/72872) ([pufit](https://github.com/pufit)).
* Corrige el formato de zonas horarias con desplazamiento positivo de la función escalar formatDateTime. [#73091](https://github.com/ClickHouse/ClickHouse/pull/73091) ([ollidraese](https://github.com/ollidraese)).
* Corrección para reflejar correctamente el puerto de origen cuando la conexión se realiza a través de PROXYv1 y `auth_use_forwarded_address` está activado; anteriormente se usaba incorrectamente el puerto del proxy. Se añade la función `currentQueryID()`. [#73095](https://github.com/ClickHouse/ClickHouse/pull/73095) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Propagar la configuración de formato a NativeWriter en TCPHandler para que configuraciones como `output_format_native_write_json_as_string` se apliquen correctamente. [#73179](https://github.com/ClickHouse/ClickHouse/pull/73179) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un bloqueo en StorageObjectStorageQueue. [#73274](https://github.com/ClickHouse/ClickHouse/pull/73274) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un error poco frecuente en una vista materializada actualizable durante el apagado del servidor. [#73323](https://github.com/ClickHouse/ClickHouse/pull/73323) ([Michael Kolupaev](https://github.com/al13n321)).
* El marcador `%f` de la función `formatDateTime` ahora genera, sin excepción, seis dígitos (de subsegundos). Esto hace que el comportamiento sea compatible con la función `DATE_FORMAT` de MySQL. El comportamiento anterior puede restaurarse usando la configuración `formatdatetime_f_prints_scale_number_of_digits = 1`. [#73324](https://github.com/ClickHouse/ClickHouse/pull/73324) ([ollidraese](https://github.com/ollidraese)).
* Se corrigió el filtrado por la columna `_etag` al leer desde el almacenamiento `s3` y la función de tabla `s3`. [#73353](https://github.com/ClickHouse/ClickHouse/pull/73353) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el error `Not-ready Set is passed as the second argument for function 'in'` al usar `IN (subquery)` en la expresión `JOIN ON` con el analizador anterior. [#73382](https://github.com/ClickHouse/ClickHouse/pull/73382) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió la preparación para el squash en las columnas Dynamic y JSON. Anteriormente, en algunos casos se podían insertar tipos nuevos en variant compartido/datos compartidos incluso cuando no se había alcanzado el límite de tipos/rutas. [#73388](https://github.com/ClickHouse/ClickHouse/pull/73388) ([Pavel Kruglov](https://github.com/Avogar)).
* Comprobar si hay valores de tamaño corruptos durante la decodificación binaria de tipos para evitar asignaciones demasiado grandes. [#73390](https://github.com/ClickHouse/ClickHouse/pull/73390) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un error lógico al leer en un clúster con una sola réplica y las réplicas en paralelo habilitadas. [#73403](https://github.com/ClickHouse/ClickHouse/pull/73403) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrige ObjectStorageQueue con ZooKeeper y versiones anteriores de Keeper. [#73420](https://github.com/ClickHouse/ClickHouse/pull/73420) ([Antonio Andelic](https://github.com/antonio2368)).
* Implementa una corrección necesaria para habilitar de forma predeterminada el particionamiento de Hive. [#73479](https://github.com/ClickHouse/ClickHouse/pull/73479) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrige una condición de carrera al crear un índice de similitud vectorial. [#73517](https://github.com/ClickHouse/ClickHouse/pull/73517) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige un fallo de segmentación cuando el origen del Diccionario contiene una función con datos incorrectos. [#73535](https://github.com/ClickHouse/ClickHouse/pull/73535) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige los reintentos tras un insert fallido en el almacenamiento S3(Azure)Queue. Cierra [#70951](https://github.com/ClickHouse/ClickHouse/issues/70951). [#73546](https://github.com/ClickHouse/ClickHouse/pull/73546) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió un error en la función `tupleElement` que puede darse en algunos casos con tuplas que tienen elementos `LowCardinality` y la configuración `optimize_functions_to_subcolumns` habilitada. [#73548](https://github.com/ClickHouse/ClickHouse/pull/73548) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige el análisis de un glob de `enum` seguido de otro de rango. Corrige [#73473](https://github.com/ClickHouse/ClickHouse/issues/73473). [#73569](https://github.com/ClickHouse/ClickHouse/pull/73569) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se corrigió un problema por el que parallel\_replicas\_for\_non\_replicated\_merge\_tree se ignoraba en subconsultas de tablas no replicadas. [#73584](https://github.com/ClickHouse/ClickHouse/pull/73584) ([Igor Nikonov](https://github.com/devcrafter)).
* Corrección del `std::logical&#95;error` que se producía cuando no se podía programar la tarea. Detectado en pruebas de estrés. [#73629](https://github.com/ClickHouse/ClickHouse/pull/73629) ([Alexander Gololobov](https://github.com/davenger)).
* No interpretar las consultas en `EXPLAIN SYNTAX` para evitar errores lógicos debidos a una etapa de procesamiento incorrecta en las consultas distribuidas. Corrige [#65205](https://github.com/ClickHouse/ClickHouse/issues/65205). [#73634](https://github.com/ClickHouse/ClickHouse/pull/73634) ([Dmitry Novik](https://github.com/novikd)).
* Corrige una posible inconsistencia de datos en una columna Dynamic. Corrige el posible error lógico `Nested columns sizes are inconsistent with local_discriminators column size`. [#73644](https://github.com/ClickHouse/ClickHouse/pull/73644) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió `NOT_FOUND_COLUMN_IN_BLOCK` en consultas con `FINAL` y `SAMPLE`. Se corrigió un resultado incorrecto en consultas `SELECT` con `FINAL` de `CollapsingMergeTree` y se habilitaron optimizaciones de `FINAL`. [#73682](https://github.com/ClickHouse/ClickHouse/pull/73682) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige un bloqueo en LIMIT BY COLUMNS. [#73686](https://github.com/ClickHouse/ClickHouse/pull/73686) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el error que se producía cuando se forzaba el uso de la proyección normal y la consulta coincidía exactamente con la proyección definida, pero no se seleccionaba la proyección y, por lo tanto, se generaba un error. [#73700](https://github.com/ClickHouse/ClickHouse/pull/73700) ([Shichao Jin](https://github.com/jsc0218)).
* Corrige la deserialización de la estructura de Dynamic/Object. Podía provocar excepciones CANNOT\_READ\_ALL\_DATA. [#73767](https://github.com/ClickHouse/ClickHouse/pull/73767) ([Pavel Kruglov](https://github.com/Avogar)).
* Omitir `metadata_version.txt` al restaurar partes desde una copia de seguridad. [#73768](https://github.com/ClickHouse/ClickHouse/pull/73768) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige un fallo de segmentación al hacer CAST a Enum con LIKE. [#73775](https://github.com/ClickHouse/ClickHouse/pull/73775) ([zhanglistar](https://github.com/zhanglistar)).
* Corrección de un problema por el que un bucket de S3 Express no funcionaba como disco. [#73777](https://github.com/ClickHouse/ClickHouse/pull/73777) ([Sameer Tamsekar](https://github.com/stamsekar)).
* Permitir la fusión de filas con valores no válidos en la columna de signo de las tablas CollapsingMergeTree. [#73864](https://github.com/ClickHouse/ClickHouse/pull/73864) ([Christoph Wurm](https://github.com/cwurm)).
* Se corrige un error al consultar DDL con una réplica fuera de línea. [#73876](https://github.com/ClickHouse/ClickHouse/pull/73876) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige el fallo ocasional al comparar tipos `map()` debido a la posibilidad de crear `Map` sin nombrar explícitamente ('keys','values') en su tupla anidada. [#73878](https://github.com/ClickHouse/ClickHouse/pull/73878) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Ignorar las funciones de ventana al resolver la cláusula GROUP BY ALL. Corrección de [#73501](https://github.com/ClickHouse/ClickHouse/issues/73501). [#73916](https://github.com/ClickHouse/ClickHouse/pull/73916) ([Dmitry Novik](https://github.com/novikd)).
* Corrige los privilegios implícitos (antes funcionaban como un comodín). [#73932](https://github.com/ClickHouse/ClickHouse/pull/73932) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el elevado consumo de memoria durante la creación de Map anidados. [#73982](https://github.com/ClickHouse/ClickHouse/pull/73982) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige el procesamiento de JSON anidado con claves vacías. [#73993](https://github.com/ClickHouse/ClickHouse/pull/73993) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrección: es posible que no se añada un alias a la proyección si otro alias hace referencia a él y se selecciona en orden inverso. [#74033](https://github.com/ClickHouse/ClickHouse/pull/74033) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Ignorar los errores de «objeto no encontrado» de Azure durante la inicialización del disco plain\_rewritable. [#74059](https://github.com/ClickHouse/ClickHouse/pull/74059) ([Julia Kartseva](https://github.com/jkartseva)).
* Corrige el comportamiento de `any` y `anyLast` con tipos `enum` y una tabla vacía. [#74061](https://github.com/ClickHouse/ClickHouse/pull/74061) ([Joanna Hulboj](https://github.com/jh0x)).
* Corrige el caso en el que el usuario especifica argumentos por palabra clave en el motor de tabla Kafka. [#74064](https://github.com/ClickHouse/ClickHouse/pull/74064) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrigió el cambio en la configuración de Storage `S3Queue` entre usar el prefijo "s3queue\_" y no usarlo, y viceversa. [#74075](https://github.com/ClickHouse/ClickHouse/pull/74075) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade una configuración `allow_push_predicate_ast_for_distributed_subqueries`. Esto añade push-down de predicados basado en AST para consultas distribuidas con el analizador. Esta es una solución temporal que usamos hasta que se admitan las consultas distribuidas con serialización del plan de consulta. Cierra [#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 problema por el que, después de [#73095](https://github.com/ClickHouse/ClickHouse/issues/73095), puede aparecer un puerto en el campo forwarded\_for, lo que impide resolver el nombre de host cuando el puerto va incluido. [#74116](https://github.com/ClickHouse/ClickHouse/pull/74116) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrigió el formato incorrecto en `ALTER TABLE (DROP STATISTICS ...) (DROP STATISTICS ...)`. [#74126](https://github.com/ClickHouse/ClickHouse/pull/74126) ([Han Fei](https://github.com/hanfei1991)).
* Corrección del error [#66112](https://github.com/ClickHouse/ClickHouse/issues/66112). [#74128](https://github.com/ClickHouse/ClickHouse/pull/74128) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Ya no se puede usar `Loop` como motor de tabla en `CREATE TABLE`. Antes, esta combinación provocaba fallos de segmentación. [#74137](https://github.com/ClickHouse/ClickHouse/pull/74137) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige un problema de seguridad para evitar la inyección SQL en las funciones de tabla de PostgreSQL y SQLite. [#74144](https://github.com/ClickHouse/ClickHouse/pull/74144) ([Pablo Marcos](https://github.com/pamarcos)).
* Soluciona el fallo al leer una subcolumna de una tabla comprimida del motor Memory. Corrige [#74009](https://github.com/ClickHouse/ClickHouse/issues/74009). [#74161](https://github.com/ClickHouse/ClickHouse/pull/74161) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigió un bucle infinito que ocurría al hacer consultas a system.detached\_tables. [#74190](https://github.com/ClickHouse/ClickHouse/pull/74190) ([Konstantin Morozov](https://github.com/k-morozov)).
* Corrige un error lógico en s3queue al marcar el archivo como fallido. [#74216](https://github.com/ClickHouse/ClickHouse/pull/74216) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigieron las opciones de copia nativa (`allow_s3_native_copy`/`allow_azure_native_copy`) para `RESTORE` desde la copia de seguridad base. [#74286](https://github.com/ClickHouse/ClickHouse/pull/74286) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió el problema por el que el número de tablas detached en la base de datos era un múltiplo de max\_block\_size. [#74289](https://github.com/ClickHouse/ClickHouse/pull/74289) ([Konstantin Morozov](https://github.com/k-morozov)).
* Se corrige la copia mediante ObjectStorage (es decir, S3) cuando las credenciales de origen y de destino son distintas. [#74331](https://github.com/ClickHouse/ClickHouse/pull/74331) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió la detección de "use the Rewrite method in the JSON API" para la copia nativa en GCS. [#74338](https://github.com/ClickHouse/ClickHouse/pull/74338) ([Azat Khuzhin](https://github.com/azat)).
* Corrige el cálculo incorrecto de `BackgroundMergesAndMutationsPoolSize` (era el doble del valor real). [#74509](https://github.com/ClickHouse/ClickHouse/pull/74509) ([alesapin](https://github.com/alesapin)).
* Corrige el error que provocaba fugas de watches de Keeper al habilitar Cluster Discovery. [#74521](https://github.com/ClickHouse/ClickHouse/pull/74521) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Se corrigió el problema de alineación de memoria reportado por UBSan [#74512](https://github.com/ClickHouse/ClickHouse/issues/74512). [#74534](https://github.com/ClickHouse/ClickHouse/pull/74534) ([Arthur Passos](https://github.com/arthurpassos)).
* Se soluciona la limpieza concurrente de KeeperMap durante la creación de tablas. [#74568](https://github.com/ClickHouse/ClickHouse/pull/74568) ([Antonio Andelic](https://github.com/antonio2368)).
* No eliminar las columnas de proyección no utilizadas en las subconsultas cuando hay `EXCEPT` o `INTERSECT`, para preservar el resultado correcto de la consulta. 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)).
* Se corrigieron las consultas `INSERT SELECT` entre tablas con columnas `Tuple` y con serialización dispersa habilitada. [#74698](https://github.com/ClickHouse/ClickHouse/pull/74698) ([Anton Popov](https://github.com/CurtizJ)).
* La función `right` funciona de forma incorrecta con un desplazamiento negativo constante. [#74701](https://github.com/ClickHouse/ClickHouse/pull/74701) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrige un fallo por el que la inserción de datos con gzip a veces fallaba debido a una descompresión defectuosa del lado del cliente. [#74707](https://github.com/ClickHouse/ClickHouse/pull/74707) ([siyuan](https://github.com/linkwk7)).
* Las revocaciones parciales de grants con comodines podrían eliminar más privilegios de los previstos. Cierra [#74263](https://github.com/ClickHouse/ClickHouse/issues/74263). [#74751](https://github.com/ClickHouse/ClickHouse/pull/74751) ([pufit](https://github.com/pufit)).
* Corrección de Keeper: se corrige la lectura de las entradas del log desde disco. [#74785](https://github.com/ClickHouse/ClickHouse/pull/74785) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió la comprobación de permisos para SYSTEM REFRESH/START/STOP VIEW; ahora no es necesario tener este privilegio en `*.*` para ejecutar una consulta sobre una vista específica, solo se requieren permisos sobre esa vista. [#74789](https://github.com/ClickHouse/ClickHouse/pull/74789) ([Alexander Tokmakov](https://github.com/tavplubix)).
* La función `hasColumnInTable` no tiene en cuenta las columnas alias. Se corrige para que también funcione con columnas alias. [#74841](https://github.com/ClickHouse/ClickHouse/pull/74841) ([Bharat Nallan](https://github.com/bharatnc)).
* Corrige el error FILE\_DOESNT\_EXIST que se producía durante la fusión de partes de datos de una tabla con una columna vacía en Azure Blob Storage. [#74892](https://github.com/ClickHouse/ClickHouse/pull/74892) ([Julia Kartseva](https://github.com/jkartseva)).
* Corrige el nombre de la columna de la proyección al unir tablas temporales, cierra [#68872](https://github.com/ClickHouse/ClickHouse/issues/68872). [#74897](https://github.com/ClickHouse/ClickHouse/pull/74897) ([Vladimir Cherkasov](https://github.com/vdimir)).

#### Mejora de compilación/pruebas/empaquetado

* El script de instalación universal ofrecerá la instalación incluso en macOS. [#74339](https://github.com/ClickHouse/ClickHouse/pull/74339) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
