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

# Registro de cambios de la v25.4 para Cloud

> Registro de cambios de la versión rápida v25.4

<div id="backward-incompatible-changes">
  ## Cambios incompatibles con versiones anteriores
</div>

* El formato de salida Parquet convierte las columnas Date y DateTime en tipos de fecha/hora compatibles con Parquet, en lugar de escribirlas como números en bruto. 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)).
* No permitir por defecto tipos 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)).
* `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 en que se muestra el progreso: ya no mostrará valores cero. Tenga en cuenta que el progreso se envía incluso cuando se produce con frecuencia. Esto puede generar un volumen significativo de tráfico. Tenga en cuenta que el progreso no se vacía cuando la salida está comprimida. 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)).
* El origen del diccionario `mysql` ya no realiza 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 retrocompatible, pero se incluye en esta categoría para que pueda advertirlo. [#73914](https://github.com/ClickHouse/ClickHouse/pull/73914) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las tablas `Merge` unificarán la estructura de las tablas subyacentes tomando la unión de sus columnas y deduciendo tipos comunes. Esto resuelve [#64864](https://github.com/ClickHouse/ClickHouse/issues/64864). Esto resuelve [#35307](https://github.com/ClickHouse/ClickHouse/issues/35307). En determinados casos, este cambio podría no ser compatible con versiones anteriores. Un ejemplo es cuando no existe un tipo común entre las tablas, pero aún es posible convertir al tipo de la primera tabla, 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)).
* Las consultas `CHECK TABLE` ahora requieren un privilegio `CHECK` independiente. En versiones anteriores, bastaba con contar con el privilegio `SHOW TABLES` para ejecutar estas consultas. Pero una consulta `CHECK TABLE` puede ser costosa, y los límites habituales de complejidad de las consultas `SELECT` no se le aplican. Esto podía dar lugar a un posible DoS. [#74471](https://github.com/ClickHouse/ClickHouse/pull/74471) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Compruebe que todas las columnas de una vista materializada coincidan con las de la tabla de destino si `allow_materialized_view_with_bad_select` es `false`. [#74481](https://github.com/ClickHouse/ClickHouse/pull/74481) ([Christoph Wurm](https://github.com/cwurm)).
* La función `h3ToGeo()` ahora devuelve los resultados en el orden `(lat, lon)` (que es el orden estándar de las funciones geométricas). Los usuarios que deseen mantener el orden heredado de los resultados `(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)).
* Se añaden los formatos `JSONCompactEachRowWithProgress` y `JSONCompactStringsEachRowWithProgress`. Continuación de [#69989](https://github.com/ClickHouse/ClickHouse/issues/69989). `JSONCompactWithNames` y `JSONCompactWithNamesAndTypes` ya no muestran "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)).
* Cambie el valor predeterminado de `format_alter_operations_with_parentheses` a true para que la lista de comandos ALTER no sea ambigua (consulte [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á actualizando un clúster que usa versiones anteriores, desactive esta configuración en la configuración del servidor o actualice primero a 24.3. [#75302](https://github.com/ClickHouse/ClickHouse/pull/75302) ([Raúl Marín](https://github.com/Algunenano)).
* Se prohíbe TRUNCATE DATABASE en bases de datos Replicated. [#76651](https://github.com/ClickHouse/ClickHouse/pull/76651) ([Bharat Nallan](https://github.com/bharatnc)).
* Las réplicas paralelas se deshabilitan de forma predeterminada cuando el analizador 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)).
* Ya no es posible usar `NaN` o `inf` como valores de coma flotante en los parámetros de configuración. [#77546](https://github.com/ClickHouse/ClickHouse/pull/77546) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige los casos en que `dateTrunc` se usa con argumentos negativos de fecha/fecha y hora. [#77622](https://github.com/ClickHouse/ClickHouse/pull/77622) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se ha eliminado la integración heredada con MongoDB. La configuración del servidor `use_legacy_mongodb_integration` ha quedado obsoleta y ahora ya no hace nada. [#77895](https://github.com/ClickHouse/ClickHouse/pull/77895) ([Robert Schulze](https://github.com/rschu1ze)).
* Mejora la validación de SummingMergeTree para omitir la agregación de las columnas usadas 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-features">
  ## Nuevas características
</div>

* 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 con las configuraciones 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)).
* Una nueva implementación de la caché de páginas en espacio de usuario, que permite almacenar los datos en la memoria del propio proceso en lugar de depender de la caché de páginas del sistema operativo. 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ñade una configuración para consultar tablas Iceberg en una marca de tiempo específica. [#71072](https://github.com/ClickHouse/ClickHouse/pull/71072) ([Brett Hoerner](https://github.com/bretthoerner)).
* Implementar la poda de particiones en tablas Iceberg para operaciones de particionado por transformación relacionadas con el tiempo en Iceberg. [#72044](https://github.com/ClickHouse/ClickHouse/pull/72044) ([Daniil Ivanik](https://github.com/divanik)).
* Se añadió la posibilidad de crear índices min-max (skipping) de forma predeterminada para las columnas gestionadas por MergeTree mediante las opciones de configuración `enable_minmax_index_for_all_numeric_columns` (para columnas numéricas) y `enable_minmax_index_for_all_string_columns` (para columnas de tipo cadena). Por ahora, ambas opciones de configuración están deshabilitadas, por lo que todavía no hay cambios en el comportamiento. [#72090](https://github.com/ClickHouse/ClickHouse/pull/72090) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Se añadió la función de agregación sequenceMatchEvents, que devuelve las marcas de tiempo 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)).
* Las sentencias `SELECT` y `VIEW` ahora admiten aliases; por ejemplo, `SELECT b FROM (SELECT number, number*2 FROM numbers(2)) AS x (a, b);`. Esto permite ejecutar la consulta 15 de TPC-H sin modificaciones. [#72480](https://github.com/ClickHouse/ClickHouse/pull/72480) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se añadió una nueva configuración `enable_adaptive_memory_spill_scheduler` que permite que varios grace JOINs en la misma consulta supervisen su huella de memoria combinada y activen de forma adaptativa el volcado a almacenamiento externo para evitar MEMORY\_LIMIT\_EXCEEDED. [#72728](https://github.com/ClickHouse/ClickHouse/pull/72728) ([lgbo](https://github.com/lgbo-ustc)).
* Se agregó la función `arrayNormalizedGini`. [#72823](https://github.com/ClickHouse/ClickHouse/pull/72823) ([flynn](https://github.com/ucasfl)).
* Se admiten tipos de datos Decimal de baja cardinalidad; se corrige [#72256](https://github.com/ClickHouse/ClickHouse/issues/72256). [#72833](https://github.com/ClickHouse/ClickHouse/pull/72833) ([zhanglistar](https://github.com/zhanglistar)).
* Cuando `min_age_to_force_merge_seconds` y `min_age_to_force_merge_on_partition_only` están habilitados, la 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 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). Tenga 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 columnas nuevas, `symbols` y `lines`, que contienen la traza de pila simbolizada. Esto permite recopilar y exportar fácilmente información de perfiles. 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`. 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)).
* Ahora, la UI de Play tiene una barra de progreso durante la ejecución de la consulta. 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 habilita la compresión HTTP. El renderizado de la tabla ahora es más rápido. El encabezado de la tabla queda fijo. Permite seleccionar celdas y navegar entre ellas con las teclas de dirección. Se corrige el problema por el que el contorno de la celda seleccionada la hacía más pequeña. Las celdas ya no se expanden al pasar el ratón por encima, sino solo al seleccionarlas. El momento para detener el renderizado de los datos entrantes se decide en el client en lugar de en el servidor. Resalta los grupos de dígitos en los números. El diseño general se renovó y ahora es 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 se muestra con contorno en todas las fuentes, incluso en Safari. Los enteros grandes dentro de tipos de datos anidados se representará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ñade la posibilidad de crear índices min-max (de omisión) de forma predeterminada para las columnas gestionadas por MergeTree mediante las configuraciones `add_minmax_index_for_numeric_columns` (para columnas numéricas) y `add_minmax_index_for_string_columns` (para columnas de cadena). Por ahora, ambas configuraciones están deshabilitadas, 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 del protocolo nativo y a los logs del servidor. Esto cierra [#67542](https://github.com/ClickHouse/ClickHouse/issues/67542). Agradecimientos a [pinsvin00](https://github.com/pinsvin00) por haber impulsado esta funcionalidad anteriormente en [#68133](https://github.com/ClickHouse/ClickHouse/issues/68133). [#74477](https://github.com/ClickHouse/ClickHouse/pull/74477) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade compatibilidad con el operador de resta para DateTime64, lo que permite la resta entre valores de DateTime64, así como con DateTime. [#74482](https://github.com/ClickHouse/ClickHouse/pull/74482) ([Li Yin](https://github.com/liyinsg)).
* Se añade compatibilidad con el motor de tabla DeltaLake para AzureBlobStorage. Corrige [#68043](https://github.com/ClickHouse/ClickHouse/issues/68043). [#74541](https://github.com/ClickHouse/ClickHouse/pull/74541) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Agregar la configuración bind\_host para definir la dirección IP de origen de las conexiones del clickhouse client. [#74741](https://github.com/ClickHouse/ClickHouse/pull/74741) ([Todd Yocum](https://github.com/toddyocum)).
* Se añadió la posibilidad de aplicar mutaciones no finalizadas (no materializadas por un proceso en segundo plano) durante la ejecución de consultas `SELECT`, inmediatamente después de su envío. Puede habilitarse estableciendo `apply_mutations_on_fly`. [#74877](https://github.com/ClickHouse/ClickHouse/pull/74877) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigieron algunos casos inesperados que se producían cuando los argumentos de fecha y hora de `toStartOfInterval` son negativos. Para ello, se implementó una nueva función llamada toStartOfIntervalAllowNegative, que hace prácticamente lo mismo, pero solo devuelve Date32/DateTime64. [#74933](https://github.com/ClickHouse/ClickHouse/pull/74933) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se ha añadido 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)).
* Se introducen 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 modificar 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 añadió la posibilidad de ATTACH a tablas sin la capa de base de datos (evita el hack de UUID). [#75788](https://github.com/ClickHouse/ClickHouse/pull/75788) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió la configuración del servidor `concurrent_threads_scheduler`, que determina cómo se distribuyen los slots de CPU entre las consultas concurrentes. Puede establecerse en `round_robin` (comportamiento anterior) o en `fair_round_robin` para resolver el problema de la distribución desigual de CPU entre las consultas INSERT y SELECT. [#75949](https://github.com/ClickHouse/ClickHouse/pull/75949) ([Sergei Trifonov](https://github.com/serxa)).
* Se vuelve a incorporar el códec QPL, que se había eliminado en la versión 24.10 por problemas de licencia. [#76021](https://github.com/ClickHouse/ClickHouse/pull/76021) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se agregó 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)).
* Se añade la función de agregación `estimatecompressionratio`; consulta [#70801](https://github.com/ClickHouse/ClickHouse/issues/70801). [#76661](https://github.com/ClickHouse/ClickHouse/pull/76661) ([Tariq Almawash](https://github.com/talmawash)).
* 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)).
* Se añadió la función hash keccak256, de uso habitual en implementaciones de blockchain, especialmente en sistemas basados en EVM. [#76669](https://github.com/ClickHouse/ClickHouse/pull/76669) ([Arnaud Briche](https://github.com/arnaudbriche)).
* Scram SHA256 y actualización de la autenticación wire de Postgres. [#76839](https://github.com/ClickHouse/ClickHouse/pull/76839) ([scanhex12](https://github.com/scanhex12)).
* Esta funcionalidad añade la posibilidad de definir una lista de encabezados que se reenvían desde los encabezados de la solicitud del client al autenticador HTTP externo. [#77054](https://github.com/ClickHouse/ClickHouse/pull/77054) ([inv2004](https://github.com/inv2004)).
* Compatibilidad con `IcebergMetadataFilesCache`, que almacenará los archivos manifest/list y metadata.json en una sola caché. [#77156](https://github.com/ClickHouse/ClickHouse/pull/77156) ([Han Fei](https://github.com/hanfei1991)).
* Se añaden las funciones `arrayLevenshteinDistance`, `arrayLevenshteinDistanceWeighted` y `arraySimilarity`. [#77187](https://github.com/ClickHouse/ClickHouse/pull/77187) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Añade 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`. Añade compatibilidad con la transformación `truncate` en la poda de particiones para el motor `Iceberg`. [#77403](https://github.com/ClickHouse/ClickHouse/pull/77403) ([alesapin](https://github.com/alesapin)).
* Permite a un usuario consultar el estado de una tabla Iceberg tal como existía en un punto anterior en el tiempo. [#77439](https://github.com/ClickHouse/ClickHouse/pull/77439) ([Daniil Ivanik](https://github.com/divanik)).
* Se añadió la planificación de slots de CPU para cargas de trabajo; consulta [https://clickhouse.com/docs/operations/workload-scheduling#cpu\&#95;scheduling](https://clickhouse.com/docs/operations/workload-scheduling#cpu\&#95;scheduling) para más detalles. [#77595](https://github.com/ClickHouse/ClickHouse/pull/77595) ([Sergei Trifonov](https://github.com/serxa)).
* 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 tipo de datos `JSON` está listo para producción. Consulte [https://jsonbench.com/](https://jsonbench.com/). Los tipos de datos `Dynamic` y `Varaint` están listos para producción. [#77785](https://github.com/ClickHouse/ClickHouse/pull/77785) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió una caché en memoria para índices de similitud vectorial 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é está controlado por las configuraciones del servidor `vector_similarity_index_cache_size` y `vector_similarity_index_cache_max_entries`. Esta funcionalidad sustituye la función de caché para índices de omisión de datos de versiones anteriores. [#77905](https://github.com/ClickHouse/ClickHouse/pull/77905) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Se añadieron las funciones sparseGrams y sparseGramsHashes, junto con sus versiones UTF-8. Autor: [scanhex12](https://github.com/scanhex12). [#78176](https://github.com/ClickHouse/ClickHouse/pull/78176) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Se añade 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)).

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

* Permitir merges automáticos de limpieza de particiones completas tras un timeout configurable con un nuevo ajuste `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)).
* Añadir 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)).
* Introducir 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)).

<div id="performance-improvements">
  ## Mejoras del rendimiento
</div>

* Optimiza el rendimiento con proyección diferida para evitar leer las columnas no utilizadas. [#55518](https://github.com/ClickHouse/ClickHouse/pull/55518) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Empezar a comparar filas por las columnas con más probabilidades de ser distintas. [#63780](https://github.com/ClickHouse/ClickHouse/pull/63780) ([UnamedRus](https://github.com/UnamedRus)).
* Optimización del 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)).
* Se acelera la deserialización de cadenas mediante algunas optimizaciones de bajo nivel. [#65948](https://github.com/ClickHouse/ClickHouse/pull/65948) ([Nikita Taranov](https://github.com/nickitat)).
* Aplicar el atributo `preserve_most` en algunas partes del código. [#67778](https://github.com/ClickHouse/ClickHouse/pull/67778) ([Nikita Taranov](https://github.com/nickitat)).
* Se implementa la caché de condiciones de consulta para mejorar el rendimiento de las consultas mediante 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) ### Entrada de documentación para cambios visibles para el usuario. [#69236](https://github.com/ClickHouse/ClickHouse/pull/69236) ([zhongyuankai](https://github.com/zhongyuankai)).
* Se añadió soporte para la precarga asíncrona de IO en `NativeORCBlockInputFormat`, lo que mejora el rendimiento general al ocultar la latencia remota de IO. El aumento de velocidad podría alcanzar 1.47x en mi caso de prueba. [#70534](https://github.com/ClickHouse/ClickHouse/pull/70534) ([李扬](https://github.com/taiyang-li)).
* Mejora el rendimiento de grace hash join al reorganizar por rangos la tabla del lado derecho del join según las claves. [#72237](https://github.com/ClickHouse/ClickHouse/pull/72237) ([kevinyhzou](https://github.com/KevinyhZou)).
* Se vuelve a respetar `ttl_only_drop_parts` en `materialize ttl`; solo se leen las columnas necesarias para recalcular el TTL y eliminar las partes al reemplazarlas por una vacía. [#72751](https://github.com/ClickHouse/ClickHouse/pull/72751) ([Andrey Zvonov](https://github.com/zvonand)).
* Permitir que `arrayROCAUC` y `arrayAUCPR` calculen el área parcial de la curva completa, de modo que su cálculo pueda paralelizarse en conjuntos de datos enormes. [#72904](https://github.com/ClickHouse/ClickHouse/pull/72904) ([Emmanuel](https://github.com/emmanuelsdias)).
* Se evita crear demasiados hilos inactivos. [#72920](https://github.com/ClickHouse/ClickHouse/pull/72920) ([Guo Wangyang](https://github.com/guowangy)).
* 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)).
* No enumeres las claves del almacenamiento de blobs si en la función de tabla solo hay expansión con llaves. Cierra [#73333](https://github.com/ClickHouse/ClickHouse/issues/73333). [#73518](https://github.com/ClickHouse/ClickHouse/pull/73518) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Sustituir Int256 y UInt256 por el `builtin` i256 de clang en los cálculos aritméticos según las pruebas de [#70502](https://github.com/ClickHouse/ClickHouse/issues/70502). [#73658](https://github.com/ClickHouse/ClickHouse/pull/73658) ([李扬](https://github.com/taiyang-li)).
* Añade una vía rápida para funciones cuyos tipos de argumentos son todos numéricos. Corrige problemas de rendimiento en [https://github.com/ClickHouse/ClickHouse/pull/72258](https://github.com/ClickHouse/ClickHouse/pull/72258). [#73820](https://github.com/ClickHouse/ClickHouse/pull/73820) ([李扬](https://github.com/taiyang-li)).
* No aplicar `maskedExecute` a columnas que no sean funciones; mejorar el rendimiento de la ejecución de cortocircuito. [#73965](https://github.com/ClickHouse/ClickHouse/pull/73965) ([lgbo](https://github.com/lgbo-ustc)).
* Se desactiva la detección de cabeceras para Kafka/NATS/RabbitMQ/FileLog para mejorar el rendimiento. [#74006](https://github.com/ClickHouse/ClickHouse/pull/74006) ([Azat Khuzhin](https://github.com/azat)).
* Use wrappers de log por valor y no los asigne en el heap. [#74034](https://github.com/ClickHouse/ClickHouse/pull/74034) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Ejecute un pipeline con un mayor grado de paralelismo después de 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)).
* Se optimizó la función `indexHint`. Ahora, las columnas que solo se utilizan 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)).
* 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 la planificación del pipeline, lo que podía reducir la capacidad de respuesta del iniciador y retrasar la ejecución del pipeline. [#74398](https://github.com/ClickHouse/ClickHouse/pull/74398) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrigió el cálculo del tamaño en memoria para las columnas `LowCardinality`. [#74688](https://github.com/ClickHouse/ClickHouse/pull/74688) ([Nikita Taranov](https://github.com/nickitat)).
* Mejora el rendimiento de la lectura de la columna JSON completa en partes Wide desde S3. Esto se logra mediante la incorporación de prefetches para la deserialización de prefijos de subcolumnas, una caché de prefijos deserializados y la deserialización paralela de prefijos de subcolumnas. Mejora la lectura de la columna JSON desde S3 en 4 veces en consultas como `SELECT data FROM table` y en unas 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)).
* Preasignar la memoria utilizada por las async inserts para mejorar el rendimiento. [#74945](https://github.com/ClickHouse/ClickHouse/pull/74945) ([Ilya Golshtein](https://github.com/ilejn)).
* Se corrigió la doble preasignación en `ConcurrentHashJoin` si el optimizador invierte los lados del join. [#75149](https://github.com/ClickHouse/ClickHouse/pull/75149) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigió la 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)).
* Ligera mejora en algunos casos 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)).
* Los archivos de metadatos `plain_rewritable` son pequeños y no necesitan un búfer predeterminado grande. Use un búfer de escritura del tamaño adecuado para ajustarse a la ruta indicada, lo que mejora el aprovechamiento de la memoria cuando hay una gran cantidad de partes activas. ### Entrada de documentación para cambios de cara al usuario. [#75758](https://github.com/ClickHouse/ClickHouse/pull/75758) ([Julia Kartseva](https://github.com/jkartseva)).
* En algunos casos (p. ej., en una columna Array vacía), las partes de datos pueden contener archivos vacíos. Podemos 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 el almacenamiento de metadatos y el de objetos separados. [#75860](https://github.com/ClickHouse/ClickHouse/pull/75860) ([Alexander Gololobov](https://github.com/davenger)).
* Se descubrió que el control de concurrencia podía provocar una distribución injusta de la CPU entre los INSERT y los SELECT: todos los slots de CPU se asignaban incondicionalmente (sin competencia) a los INSERT con `max_threads` = 1, mientras que los SELECT con valores altos de `max_threads` sufrían un rendimiento deficiente porque solo usaban un único hilo. [#75941](https://github.com/ClickHouse/ClickHouse/pull/75941) ([Sergei Trifonov](https://github.com/serxa)).
* Optimización trivial de wrapInNullable para evitar la asignación innecesaria del mapa de nulos. [#76489](https://github.com/ClickHouse/ClickHouse/pull/76489) ([李扬](https://github.com/taiyang-li)).
* Mejora el rendimiento de min/max para Decimal32/Decimal64/DateTime64. [#76570](https://github.com/ClickHouse/ClickHouse/pull/76570) ([李扬](https://github.com/taiyang-li)).
* Expulsa activamente los datos de la caché cuando se eliminan partes. Evita 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)).
* La compilación de consultas (configuración `compile_expressions`) ahora tiene en cuenta el tipo de máquina. Esto acelera considerablemente este tipo de consultas. [#76753](https://github.com/ClickHouse/ClickHouse/pull/76753) ([Robert Schulze](https://github.com/rschu1ze)).
* Optimiza `arraySort`. [#76850](https://github.com/ClickHouse/ClickHouse/pull/76850) ([李扬](https://github.com/taiyang-li)).
* Acelera la generación del resultado de JOIN mediante la desvirtualización de las llamadas a `col->insertFrom()`. [#77350](https://github.com/ClickHouse/ClickHouse/pull/77350) ([Alexander Gololobov](https://github.com/davenger)).
* Fusionar las marcas de una misma parte y escribirlas en la caché de condiciones de consulta de una sola vez para reducir el uso de bloqueos. [#77377](https://github.com/ClickHouse/ClickHouse/pull/77377) ([zhongyuankai](https://github.com/zhongyuankai)).
* Optimiza ORDER BY para columnas Nullable individuales o de baja cardinalidad. [#77789](https://github.com/ClickHouse/ClickHouse/pull/77789) ([李扬](https://github.com/taiyang-li)).
* Deshabilitar `filesystem_cache_prefer_bigger_buffer_size` cuando la caché se utiliza de forma pasiva, por ejemplo durante las fusiones. [#77898](https://github.com/ClickHouse/ClickHouse/pull/77898) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se implementa la optimización trivial de conteo para Iceberg. Ahora, las consultas con `count()` y sin ningún filtro 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 compatibilidad con la poda de datos de Iceberg en función de los valores lower\_bound y uppert\_bound 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)).
* Optimización del uso de memoria de NativeReader. [#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 `CAST`. Se cierra [#78564](https://github.com/ClickHouse/ClickHouse/issues/78564). [#78565](https://github.com/ClickHouse/ClickHouse/pull/78565) ([李扬](https://github.com/taiyang-li)).

<div id="improvements">
  ## Mejoras
</div>

* Se redujo la cantidad de solicitudes a Keeper al eliminar el uso de solicitudes `get` individuales, que podrían haber provocado una carga significativa en Keeper con el aumento del número de réplicas, en los lugares donde `multiRead` está disponible. [#56862](https://github.com/ClickHouse/ClickHouse/pull/56862) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se añade compatibilidad con la 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)).
* Mejora el rendimiento de la infraestructura del nuevo analizador al almacenar `ColumnPtr` en lugar de `Field` en `ConstantNode`. Relacionado con [#62245](https://github.com/ClickHouse/ClickHouse/issues/62245). [#63198](https://github.com/ClickHouse/ClickHouse/pull/63198) ([Dmitry Novik](https://github.com/novikd)).
* 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 CPU ocupado (`OSCPUVirtualTimeMicroseconds`). La consulta se descarta 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` (estas son configuraciones a nivel de consulta). [#63206](https://github.com/ClickHouse/ClickHouse/pull/63206) ([Alexey Katsman](https://github.com/alexkats)).
* Descartar los bloques lo antes posible para reducir el uso de memoria. [#65647](https://github.com/ClickHouse/ClickHouse/pull/65647) ([lgbo](https://github.com/lgbo-ustc)).
* 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)).
* Permite crear un índice `bloom_filter` en columnas con el tipo de datos DateTime64. [#66416](https://github.com/ClickHouse/ClickHouse/pull/66416) ([Yutong Xiao](https://github.com/YutSean)).
* Se introducen intervalos de latencia y se usan para hacer seguimiento de los tiempos de conexión y de la primera lectura/escritura de bytes en las solicitudes de S3. De este modo, más adelante se podrán usar los datos recopilados para calcular percentiles aproximados y ajustar los tiempos de espera. [#69783](https://github.com/ClickHouse/ClickHouse/pull/69783) ([Alexey Katsman](https://github.com/alexkats)).
* Las consultas enviadas 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 añadieron cabeceras 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 la escritura de archivos ORC con una zona horaria personalizada, no siempre con la zona horaria `GMT`. [#70615](https://github.com/ClickHouse/ClickHouse/pull/70615) ([kevinyhzou](https://github.com/KevinyhZou)).
* 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)).
* Se respeta la configuración de programación de IO al escribir copias de seguridad entre nubes. [#71093](https://github.com/ClickHouse/ClickHouse/pull/71093) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Restablecer la conexión con las réplicas de diccionarios de MySQL y Postgres en segundo plano para no retrasar las solicitudes a los diccionarios correspondientes. [#71101](https://github.com/ClickHouse/ClickHouse/pull/71101) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Añadir el alias de la métrica a system.asynchronous\_metrics. [#71164](https://github.com/ClickHouse/ClickHouse/pull/71164) ([megao](https://github.com/jetgm)).
* 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)).
* Evaluar conjuntamente los bloom filters de Parquet y los índices min/max. Necesario para dar soporte correcto a: `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)).
* Mejoras en las métricas interactivas. Se corrige un problema por el que las métricas de las réplicas paralelas no se mostraban por completo. Las métricas se muestran en orden de 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)).
* 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 utiliza este tipo de acceso. Por compatibilidad, este permiso también se concederá implícitamente 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)).
* Activa `use_hive_partitioning` de forma predeterminada. [#71636](https://github.com/ClickHouse/ClickHouse/pull/71636) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 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. Sin embargo, esto no resuelve [#71777](https://github.com/ClickHouse/ClickHouse/issues/71777). [#71891](https://github.com/ClickHouse/ClickHouse/pull/71891) ([Peter Nguyen](https://github.com/petern48)).
* Permitir una planificación de join más general cuando está habilitado el algoritmo de hash join. [#71926](https://github.com/ClickHouse/ClickHouse/pull/71926) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Ocultar los secretos en `EXPLAIN QUERY TREE`. [#72025](https://github.com/ClickHouse/ClickHouse/pull/72025) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Permite usar un disco configurable para almacenar los archivos de metadatos de bases de datos y tablas. El nombre del disco puede establecerse mediante el parámetro de configuración `database_disk.disk`. [#72027](https://github.com/ClickHouse/ClickHouse/pull/72027) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Soporte para tipos lógicos enteros de Parquet en el lector nativo. [#72105](https://github.com/ClickHouse/ClickHouse/pull/72105) ([Arthur Passos](https://github.com/arthurpassos)).
* Hacer que el formato de salida JSON sea Pretty 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)).
* Solicita credenciales de forma interactiva en el navegador si el usuario `default` requiere una contraseña. En versiones anteriores, el servidor devolvía HTTP 403; ahora devuelve HTTP 401. [#72198](https://github.com/ClickHouse/ClickHouse/pull/72198) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Este PR convierte los tipos de acceso `CREATE_USER`, `ALTER_USER`, `DROP_USER`, `CREATE_ROLE`, `ALTER_ROLE`, `DROP_ROLE` de globales a parametrizados. Esto significa que ahora puedes otorgar permisos de gestión de acceso con mayor precisión:. [#72246](https://github.com/ClickHouse/ClickHouse/pull/72246) ([pufit](https://github.com/pufit)).
* Permitir nombres de segmentos en la configuración del clúster. [#72276](https://github.com/ClickHouse/ClickHouse/pull/72276) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* 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)).
* Añadir la columna `latest_fail_error_code_name` a `system.mutations`. Necesitamos esta columna para introducir una nueva métrica sobre mutaciones atascadas y usarla para crear gráficos de los errores detectados en Cloud y, opcionalmente, añadir una nueva alerta menos ruidosa. [#72398](https://github.com/ClickHouse/ClickHouse/pull/72398) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Reduce la cantidad de memoria asignada al adjuntar particiones. [#72583](https://github.com/ClickHouse/ClickHouse/pull/72583) ([Konstantin Morozov](https://github.com/k-morozov)).
* Hacer que el límite de max\_bytes\_before\_external\_sort dependa del consumo total de memoria de la consulta (anteriormente era el número de bytes del bloque de ordenación para 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 de toda la consulta para 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 en el collector de trazas. [#72606](https://github.com/ClickHouse/ClickHouse/pull/72606) ([Azat Khuzhin](https://github.com/azat)).
* Se admiten subcolumnas en la clave de ordenación de MergeTree y en los índices de omisión. [#72644](https://github.com/ClickHouse/ClickHouse/pull/72644) ([Pavel Kruglov](https://github.com/Avogar)).
* Añade las opciones de configuración 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 el ajuste `max_backup_bandwidth` a la lista de ajustes que pueden especificarse como parte de las consultas `BACKUP`/`RESTORE`. [#72665](https://github.com/ClickHouse/ClickHouse/pull/72665) ([Christoph Wurm](https://github.com/cwurm)).
* 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 no está disponible. [#72666](https://github.com/ClickHouse/ClickHouse/pull/72666) ([zoomxi](https://github.com/zoomxi)).
* Reducción del nivel de log para las partes replicadas recién aparecidas 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)).
* Muchas nuevas funcionalidades requerirán una mejor encapsulación del código (en lo relativo a los metadatos de Iceberg) y mejores abstracciones de código. [#72941](https://github.com/ClickHouse/ClickHouse/pull/72941) ([Daniil Ivanik](https://github.com/divanik)).
* Se admite la comparación por igualdad para los valores de una columna JSON. [#72991](https://github.com/ClickHouse/ClickHouse/pull/72991) ([Pavel Kruglov](https://github.com/Avogar)).
* Mejora del formato de los identificadores con subcolumnas JSON para evitar comillas graves innecesarias. [#73085](https://github.com/ClickHouse/ClickHouse/pull/73085) ([Pavel Kruglov](https://github.com/Avogar)).
* Registrar las condiciones `PREWHERE` con el nivel `Test`. [#73116](https://github.com/ClickHouse/ClickHouse/pull/73116) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Admite SETTINGS con ENGINE implícito y la combinación de la configuración del engine y de la consulta. [#73120](https://github.com/ClickHouse/ClickHouse/pull/73120) ([Raúl Marín](https://github.com/Algunenano)).
* Escribe partes de nivel 1 si `optimize_on_insert` está activado. Permite usar varias optimizaciones de consultas con `FINAL` para las partes escritas recientemente. [#73132](https://github.com/ClickHouse/ClickHouse/pull/73132) ([Anton Popov](https://github.com/CurtizJ)).
* Para una consulta como `WHERE a<b AND b<c AND c<5`, se pueden generar 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 la extracción de expresiones comunes en las disyunciones. Permite simplificar la expresión de filtro resultante incluso si no hay 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 Storage `S3(Azure)Queue`, se permite agregar configuraciones a tablas creadas sin ellas. [#73283](https://github.com/ClickHouse/ClickHouse/pull/73283) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Clickhouse-client admite Ctrl+D para finalizar la consulta. Permite usar Ctrl+D en lugar de escribir un punto y coma y pulsar Enter. Además, hace que Ctrl+D funcione como Enter en el modo de una sola línea. [#73293](https://github.com/ClickHouse/ClickHouse/pull/73293) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* Se introduce una 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 solicitudes múltiples a Keeper en el hilo de limpieza de ObjectStorageQueueMetadata. [#73357](https://github.com/ClickHouse/ClickHouse/pull/73357) ([Antonio Andelic](https://github.com/antonio2368)).
* Un nuevo driver de MongoDB ahora es el predeterminado. Los usuarios que prefieran 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)).
* Cuando ClickHouse se ejecuta en 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 aportar 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 pueden 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 agrega `system.azure_queue`, similar a `system.s3queue` ya existente. [#73477](https://github.com/ClickHouse/ClickHouse/pull/73477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió una regresión que provocaba un error al usar configuraciones regionales de intercalación con modificadores. Como 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)).
* Admite el tipo Nullable(JSON). [#73556](https://github.com/ClickHouse/ClickHouse/pull/73556) ([Pavel Kruglov](https://github.com/Avogar)).
* 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)).
* Soluciona 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)).
* Se permite modificar los ajustes de commit en el almacenamiento S3(Azure)Queue. (Los ajustes 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 el almacenamiento S3(Azure)Queue, se agrega de forma acumulada 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)).
* Admite las 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)).
* Lectura de `output_format_compression_level` en la salida Parquet. [#73651](https://github.com/ClickHouse/ClickHouse/pull/73651) ([Arthur Passos](https://github.com/arthurpassos)).
* Añade la lectura de arrow fixed\_size\_list como 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)).
* Este PR agrega dos motores de backup: `Memory` (guarda los backups en la sesión actual del usuario) y `Null` (no guarda los backups en ningún sitio):. [#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 de gran tamaño) en las funciones formatReadable. [#73765](https://github.com/ClickHouse/ClickHouse/pull/73765) ([Raúl Marín](https://github.com/Algunenano)).
* Se respeta la coincidencia de columnas sin distinción entre mayúsculas y minúsculas para los campos de 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)).
* Compatibilidad con TLS para el protocolo wire de Postgres. [#73812](https://github.com/ClickHouse/ClickHouse/pull/73812) ([scanhex12](https://github.com/scanhex12)).
* 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)).
* Mejor mensaje durante la instalación. [#73827](https://github.com/ClickHouse/ClickHouse/pull/73827) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mensaje mejorado sobre el restablecimiento de contraseña para ClickHouse Cloud. [#73831](https://github.com/ClickHouse/ClickHouse/pull/73831) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora del mensaje de error para una tabla File que no puede añadir datos a 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)).
* El tipo de dato `BFloat16` ya es apto para producción. [#73840](https://github.com/ClickHouse/ClickHouse/pull/73840) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Resalta los espacios 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 este se redirija desde un archivo. Esto corrige [#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 mediante los ajustes `output_format_pretty_max_column_name_width_cut_to` y `output_format_pretty_max_column_name_width_min_chars_to_cut`. Esto continúa el trabajo de [tanmaydatta](https://github.com/tanmaydatta) en [#66502](https://github.com/ClickHouse/ClickHouse/issues/66502). Esto cierra [#65968](https://github.com/ClickHouse/ClickHouse/issues/65968). [#73851](https://github.com/ClickHouse/ClickHouse/pull/73851) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Haga que los formatos `Pretty` se vean mejor: combine bloques si no ha pasado 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 corrige la correspondencia de tipos para SQLite (los tipos enteros pasan a `int64` y los de coma flotante a `float64`). [#73853](https://github.com/ClickHouse/ClickHouse/pull/73853) ([Joanna Hulboj](https://github.com/jh0x)).
* Añade una métrica sobre el número de partes de origen que se están fusionando 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` si la salida se envía a un terminal. Esto puede desactivarse con la opció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` (un completo cliente de línea de comandos 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)).
* 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)).
* La función `isIPv4String` devolvía true si una dirección IPv4 válida iba seguida de un byte nulo, cuando en este 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 MySQL wire protocol 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 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`, hacer commit de todos los archivos (en un único lote definido por la configuración de commit) en una única transacción de Keeper. [#73991](https://github.com/ClickHouse/ClickHouse/pull/73991) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Deshabilitar la detección de header para UDFs ejecutables y diccionarios (podría provocar Function 'X': resultado incorrecto; se esperaban Y filas, se obtuvo Y-1). [#73992](https://github.com/ClickHouse/ClickHouse/pull/73992) ([Azat Khuzhin](https://github.com/azat)).
* Se añade la opción `distributed` a `EXPLAIN PLAN.` Ahora, `EXPLAIN distributed=1 ... ` agrega el plan remoto a los pasos `ReadFromParallelRemote*`. [#73994](https://github.com/ClickHouse/ClickHouse/pull/73994) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Usa el tipo de retorno correcto para not/xor con argumentos Dynamic. [#74013](https://github.com/ClickHouse/ClickHouse/pull/74013) ([Pavel Kruglov](https://github.com/Avogar)).
* Permite cambiar `add_implicit_sign_column_constraint_for_collapsing_engine` después de crear la tabla. [#74014](https://github.com/ClickHouse/ClickHouse/pull/74014) ([Christoph Wurm](https://github.com/cwurm)).
* Soporte para subcolumnas en la consulta `select` de una vista materializada. [#74030](https://github.com/ClickHouse/ClickHouse/pull/74030) ([Pavel Kruglov](https://github.com/Avogar)).
* Los formatos Pretty pueden mostrar campos multilínea dentro de una celda de tabla, lo que mejora la legibilidad. Esto está habilitado de forma predeterminada y se puede controlar 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)).
* Se admite la optimización `predicate-push-down` a nivel del plan de consulta para el paso `MergingAggregated`. Mejora el rendimiento de algunas consultas con el nuevo analizador. [#74073](https://github.com/ClickHouse/ClickHouse/pull/74073) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* 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 específica por conexión `<connections_credentials><prompt>[...]</prompt></connection_credentials>`. [#74168](https://github.com/ClickHouse/ClickHouse/pull/74168) ([Christoph Wurm](https://github.com/cwurm)).
* Cambiar el código de estado de éxito de la respuesta de escritura remota de Prometheus de 200/OK a 204/NoContent. [#74170](https://github.com/ClickHouse/ClickHouse/pull/74170) ([Michael Dempsey](https://github.com/bluestealth)).
* Exponer los encabezados HTTP X-ClickHouse a JavaScript en el navegador. Facilita el desarrollo 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 los nanosegundos transcurridos. Al final se emite un último evento de progreso. El progreso durante el tiempo de ejecución de la consulta no se imprimirá con una frecuencia mayor que el valor de la configuración `interactive_delay`. [#74181](https://github.com/ClickHouse/ClickHouse/pull/74181) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El reloj de arena girará suavemente en la interfaz de usuario de Play. [#74182](https://github.com/ClickHouse/ClickHouse/pull/74182) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Aunque la respuesta HTTP esté comprimida, envía los paquetes en cuanto se reciban. 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)).
* 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)).
* Detectar automáticamente 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)).
* Autenticar a los usuarios solo con username para http\_handlers (antes también se requería que el usuario introdujera la password). [#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 las opciones de configuración `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 admite la devolución del 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 es posible usar 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ñadió una configuración de MergeTree, `materialize_skip_indexes_on_merge`, que evita 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)).
* Admite subcolumnas en expresiones predeterminadas y materializadas. [#74403](https://github.com/ClickHouse/ClickHouse/pull/74403) ([Pavel Kruglov](https://github.com/Avogar)).
* Optimizar las peticiones de Keeper en Storage(S3/Azure)Queue. [#74410](https://github.com/ClickHouse/ClickHouse/pull/74410) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 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 los nombres de las tablas Iceberg a EXPLAIN. [#74485](https://github.com/ClickHouse/ClickHouse/pull/74485) ([alekseev-maksim](https://github.com/alekseev-maksim)).
* Usa hasta `1000` réplicas paralelas de forma predeterminada. [#74504](https://github.com/ClickHouse/ClickHouse/pull/74504) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Se proporciona un mensaje de error más claro al usar RECURSIVE CTE con el analizador antiguo. [#74523](https://github.com/ClickHouse/ClickHouse/pull/74523) ([Raúl Marín](https://github.com/Algunenano)).
* Optimizar las solicitudes a Keeper en Storage(S3/Azure)Queue. [#74538](https://github.com/ClickHouse/ClickHouse/pull/74538) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Mejora la reutilización de sesiones HTTP al leer desde un disco S3 ([#72401](https://github.com/ClickHouse/ClickHouse/issues/72401)). [#74548](https://github.com/ClickHouse/ClickHouse/pull/74548) ([Julian Maicher](https://github.com/jmaicher)).
* Muestra mensajes de error detallados en `system.errors`. [#74574](https://github.com/ClickHouse/ClickHouse/pull/74574) ([Vitaly Baranov](https://github.com/vitlibar)).
* 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 las nuevas configuraciones `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)).
* Cálculo más preciso para la configuración `max_joined_block_size_rows` del algoritmo JOIN `parallel_hash`. Ayuda a evitar un mayor 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ñadió soporte para la opción de configuración `dfs.client.use.datanode.hostname` de libhdfs3. [#74635](https://github.com/ClickHouse/ClickHouse/pull/74635) ([Mikhail Tiukavkin](https://github.com/freshertm)).
* Corrige Invalid: el códec 'snappy' no permite establecer un nivel de compresión. [#74659](https://github.com/ClickHouse/ClickHouse/pull/74659) ([Arthur Passos](https://github.com/arthurpassos)).
* Permite 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 resultar ú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)).
* Permite usar rutas de blobs para calcular sumas de comprobación al crear una copia de seguridad. [#74729](https://github.com/ClickHouse/ClickHouse/pull/74729) ([Vitaly Baranov](https://github.com/vitlibar)).
* Use el sharding dinámico para JOIN si la clave de JOIN es un prefijo de la PK en ambas partes. Esta optimización se activa 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 agregó 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)).
* Los parámetros del códec Gorilla ahora siempre se guardarán en los metadatos de la tabla, en el archivo .sql. Esto cierra: [#70072](https://github.com/ClickHouse/ClickHouse/issues/70072). [#74814](https://github.com/ClickHouse/ClickHouse/pull/74814) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Implementa la optimización de cortocircuito para `divideDecimal`. Soluciona [#74280](https://github.com/ClickHouse/ClickHouse/issues/74280). [#74843](https://github.com/ClickHouse/ClickHouse/pull/74843) ([Kevin Mingtarja](https://github.com/kevinmingtarja)).
* Mejora del rendimiento de solicitudes múltiples de mayor tamaño en Keeper. [#74849](https://github.com/ClickHouse/ClickHouse/pull/74849) ([Antonio Andelic](https://github.com/antonio2368)).
* Ahora se pueden especificar usuarios en los scripts de inicio. [#74894](https://github.com/ClickHouse/ClickHouse/pull/74894) ([pufit](https://github.com/pufit)).
* Recuperar partes en paralelo con ALTER TABLE FETCH PARTITION (el tamaño del grupo de hilos se controla con `max_fetch_partition_thread_pool_size`). [#74978](https://github.com/ClickHouse/ClickHouse/pull/74978) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió una columna de identificador de consulta a `system.query_cache` (incidencia [#68205](https://github.com/ClickHouse/ClickHouse/issues/68205)). [#74982](https://github.com/ClickHouse/ClickHouse/pull/74982) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Se volvió a habilitar el protocolo SSH. Se corrigieron algunas vulnerabilidades críticas, por lo que ya no es posible usar un paginador personalizado ni especificar `server-logs-file`. De forma predeterminada, se deshabilitó la posibilidad de pasar opciones de client mediante variables de entorno (sigue siendo posible mediante `ssh-server.enable_client_options_passing` en config.xml). Se añadió compatibilidad con la tabla de progreso, la cancelación de consultas, el autocompletado, el progreso de los eventos de perfil, stdin y la opción `send_logs_level`. Esto cierra: [#74340](https://github.com/ClickHouse/ClickHouse/issues/74340). [#74989](https://github.com/ClickHouse/ClickHouse/pull/74989) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrige el formateo de las excepciones mediante 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 soluciona [#55422](https://github.com/ClickHouse/ClickHouse/issues/55422). [#74994](https://github.com/ClickHouse/ClickHouse/pull/74994) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se implementaron mejoras en el análisis sintáctico (análisis del ID de secuencia: se añadió la capacidad de analizar identificadores de secuencia en archivos de manifiesto; y análisis de metadatos de Avro: se rediseñó el analizador de metadatos de Avro para que sea fácilmente extensible de cara a futuras mejoras). [#75010](https://github.com/ClickHouse/ClickHouse/pull/75010) ([Daniil Ivanik](https://github.com/divanik)).
* Se permite cancelar consultas `ALTER TABLE ... FREEZE ...` con `KILL QUERY` y por tiempo de espera (`max_execution_time`). [#75016](https://github.com/ClickHouse/ClickHouse/pull/75016) ([Kirill](https://github.com/kirillgarbar)).
* Añadir compatibilidad con `groupUniqArrayArrayMap` como `SimpleAggregateFunction`. [#75034](https://github.com/ClickHouse/ClickHouse/pull/75034) ([Miel Donkers](https://github.com/mdonkers)).
* Añade compatibilidad con sentencias preparadas en el protocolo wire de Postgres. [#75035](https://github.com/ClickHouse/ClickHouse/pull/75035) ([scanhex12](https://github.com/scanhex12)).
* Oculta la configuración de las 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)).
* Se añadieron a BuzzHouse algunas funcionalidades que faltaban: los operadores `ILIKE` y `REGEXP`, `<=>` e `IS NOT DISTINCT FROM`. [#75168](https://github.com/ClickHouse/ClickHouse/pull/75168) ([Pedro Ferreira](https://github.com/PedroTadim)).
* La configuración `min_chunk_bytes_for_parallel_parsing` ya no puede establecerse en 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)).
* `intExp2` / `intExp10`: Se define el comportamiento en casos no definidos: 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)).
* Compatibilidad nativa con `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 en silencio si el 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 la cantidad de veces que alguno de los logs del sistema falló al vaciarse. [#75466](https://github.com/ClickHouse/ClickHouse/pull/75466) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade comprobación y logging 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 hace que el comportamiento de ClickHouse coincida 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)).
* 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 de INSERT y el formateo de la salida de la consulta) debe usar la configuración del archivo `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. Ten 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)).
* Mejora de Keeper: se desactiva el cálculo del digest al hacer commit 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 durante el preprocesamiento de solicitudes. [#75490](https://github.com/ClickHouse/ClickHouse/pull/75490) ([Antonio Andelic](https://github.com/antonio2368)).
* Realizar push down de la expresión de filtro de JOIN ON cuando sea posible. [#75536](https://github.com/ClickHouse/ClickHouse/pull/75536) ([Vladimir Cherkasov](https://github.com/vdimir)).
* 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 cortaba incorrectamente en el mensaje de error. Se corrige el uso excesivo de comillas en fragmentos de consultas. 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)).
* Añadir 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 ajustes del servidor al client (`send_settings_to_client=false`) por motivos de compatibilidad (Esta funcionalidad se volverá a implementar más adelante como configuración de cliente para mejorar la usabilidad). [#75648](https://github.com/ClickHouse/ClickHouse/pull/75648) ([Michael Kolupaev](https://github.com/al13n321)).
* Agrega una configuración `memory_worker_correct_memory_tracker` para permitir la corrección del monitor interno de memoria con información de una fuente distinta, leída periódicamente en el hilo en segundo plano. [#75714](https://github.com/ClickHouse/ClickHouse/pull/75714) ([Antonio Andelic](https://github.com/antonio2368)).
* Usar el analizador en PrometheusRemoteReadProtocol. [#75729](https://github.com/ClickHouse/ClickHouse/pull/75729) ([Dmitry Novik](https://github.com/novikd)).
* Tenemos soporte para los tipos de métricas gauge/counter. Sin embargo, no bastan para algunas métricas (p. ej., los tiempos de respuesta de las solicitudes a Keeper), por lo que es necesario añadir soporte para el tipo de métrica de histograma. La interfaz sigue de cerca la del client de Prometheus: solo hay que 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)).
* Añadir la columna `normalized_query_hash` en `system.processes`. Nota: aunque puede calcularse fácilmente en el momento 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 provocará una excepción, incluso si existe una tabla `Merge` creada en una base de datos que ya no existe. Se elimina el método `getTotalRows` de las tablas `Hive`, porque no permitimos que realice tareas complejas. [#75772](https://github.com/ClickHouse/ClickHouse/pull/75772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La interfaz web ahora cuenta con navegación interactiva por las bases 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-escritura en una política de almacenamiento (como varios volúmenes o varios discos). Esto permite leer datos de todo el volumen, mientras que las inserciones priorizarán el disco escribible (es decir, una política de almacenamiento Copy-on-Write). [#75862](https://github.com/ClickHouse/ClickHouse/pull/75862) ([Azat Khuzhin](https://github.com/azat)).
* Eliminar trace\_id del ORDER BY por defecto para system.opentelemetry\_span\_log. [#75907](https://github.com/ClickHouse/ClickHouse/pull/75907) ([Azat Khuzhin](https://github.com/azat)).
* El cifrado (atributo XML `encrypted_by`) ahora puede aplicarse a cualquier archivo de configuración (config.xml, users.xml, archivos de configuración anidados). Anteriormente, solo funcionaba en el archivo config.xml de nivel superior. [#75911](https://github.com/ClickHouse/ClickHouse/pull/75911) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* Se almacenan start\_time/end\_time de las copias de seguridad con precisión de microsegundos. [#75929](https://github.com/ClickHouse/ClickHouse/pull/75929) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* Se añade la métrica `MemoryTrackingUncorrected`, que muestra el valor del rastreador interno de memoria global sin corregir por RSS. [#75935](https://github.com/ClickHouse/ClickHouse/pull/75935) ([Antonio Andelic](https://github.com/antonio2368)).
* Calcular de forma diferida el tamaño de las columnas y los índices en MergeTree. [#75938](https://github.com/ClickHouse/ClickHouse/pull/75938) ([Pavel Kruglov](https://github.com/Avogar)).
* Convierte join en una subconsulta in si la columna de salida está asociada a la tabla de la izquierda; primero hace falta un paso de unicidad, por lo que está deshabilitado de forma predeterminada hasta que ese paso se añada más adelante. [#75942](https://github.com/ClickHouse/ClickHouse/pull/75942) ([Shichao Jin](https://github.com/jsc0218)).
* Se añadió un ajuste del servidor `throw_on_unknown_workload` que permite elegir el comportamiento ante una consulta con la configuración `workload` establecida en un valor desconocido: permitir un acceso ilimitado (predeterminado) o generar 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)).
* El nuevo motor de tabla Kafka experimental ahora respeta por completo las feature flags de Keeper. [#76004](https://github.com/ClickHouse/ClickHouse/pull/76004) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* No reescriba las 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 de errores de coordinación al cargar tablas. [#76020](https://github.com/ClickHouse/ClickHouse/pull/76020) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se mejora la tabla `system.warnings` y se añaden algunos mensajes de advertencia dinámicos que pueden agregarse, actualizarse o eliminarse. [#76029](https://github.com/ClickHouse/ClickHouse/pull/76029) ([Bharat Nallan](https://github.com/bharatnc)).
* Se admite el vaciado de logs 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`. Ahora se usa la curva de Hilbert en lugar de la curva de Morton. Se muestran 512 MB de direcciones en el cuadrado, lo que lo aprovecha mejor (en versiones anteriores, las direcciones solo ocupaban la mitad del cuadrado). Las direcciones se colorean según el nombre de la biblioteca más cercana, en lugar del nombre de la función. Se permite desplazarse un poco más fuera del área. [#76192](https://github.com/ClickHouse/ClickHouse/pull/76192) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Este PR impide ejecutar una consulta `ALTER USER user1 ADD PROFILES a, DROP ALL PROFILES` porque, en el orden establecido, 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 (mejores mensajes de error, mejores pruebas, comprobaciones básicas). [#76307](https://github.com/ClickHouse/ClickHouse/pull/76307) ([Azat Khuzhin](https://github.com/azat)).
* Reintento de 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 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)).
* Compatibilidad con la actualización en tablas MergeTree de solo lectura. [#76467](https://github.com/ClickHouse/ClickHouse/pull/76467) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Usar el fallback correcto cuando la copia multiparte en S3 falle durante la copia de seguridad con Access Denied. La copia multiparte puede generar el error Access Denied cuando la copia de seguridad se realiza entre buckets con credenciales diferentes. [#76515](https://github.com/ClickHouse/ClickHouse/pull/76515) ([Antonio Andelic](https://github.com/antonio2368)).
* Apagado más rápido de los servidores de ClickHouse (se elimina el retraso de 2,5 s). [#76550](https://github.com/ClickHouse/ClickHouse/pull/76550) ([Azat Khuzhin](https://github.com/azat)).
* Se añade query\_id a system.errors. Incidencia relacionada [#75815](https://github.com/ClickHouse/ClickHouse/issues/75815). [#76581](https://github.com/ClickHouse/ClickHouse/pull/76581) ([Vladimir Baikov](https://github.com/bkvvldmr)).
* Se actualizó librdkafka a la versión 2.8.0 y se mejoró la secuencia de apagado de las tablas de Kafka, lo que reduce los retrasos al eliminar tablas y reiniciar el 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)).
* Se evita la asignación excesiva en ReadBufferFromS3 y otros búferes de lectura remota, y su consumo de memoria se reduce a la mitad. [#76692](https://github.com/ClickHouse/ClickHouse/pull/76692) ([Sema Checherinda](https://github.com/CheSema)).
* Se admite leer el tipo JSON y las subcolumnas desde View. [#76903](https://github.com/ClickHouse/ClickHouse/pull/76903) ([Pavel Kruglov](https://github.com/Avogar)).
* Se añade compatibilidad para convertir `UInt128` a IPv6. Esto permite la operación `bitAnd` y las operaciones aritméticas con IPv6, así como la conversión de vuelta a IPv6. Cierra [#76752](https://github.com/ClickHouse/ClickHouse/issues/76752). Esto también permite convertir de vuelta a IPv6 el resultado de la operación `bitAnd` sobre IPv6. Véase: [https://github.com/ClickHouse/ClickHouse/pull/57707](https://github.com/ClickHouse/ClickHouse/pull/57707). [#76928](https://github.com/ClickHouse/ClickHouse/pull/76928) ([Muzammil Abdul Rehman](https://github.com/muzammilar)).
* Las system tables como `server_settings` o `settings` tienen una columna de valor `default`, lo cual es conveniente. Solo `merge_tree_settings` y `replicated_merge_tree_settings` no tienen esa columna habilitada. [#76942](https://github.com/ClickHouse/ClickHouse/pull/76942) ([Diego Nieto](https://github.com/lesandie)).
* De forma predeterminada, no se analizan los valores especiales de Bool en formatos de texto dentro del tipo Variant. Puede habilitarse mediante 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 la configuración del tiempo de espera por tarea para consultas de baja prioridad tanto a nivel de sesión como de servidor. [#77013](https://github.com/ClickHouse/ClickHouse/pull/77013) ([VicoWu](https://github.com/VicoWu)).
* Se agregó `ProfileEvents::QueryPreempted`, que sigue la misma lógica que `CurrentMetrics::QueryPreempted`. [#77015](https://github.com/ClickHouse/ClickHouse/pull/77015) ([VicoWu](https://github.com/VicoWu)).
* Anteriormente, una base de datos replicada podía registrar 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)).
* Actualiza zstd de la versión 1.5.5 a la 1.5.7, que aporta [bastantes 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)).
* Se permite ALTER TABLE DROP PARTITION para el disco plain\_rewritable. [#77138](https://github.com/ClickHouse/ClickHouse/pull/77138) ([Julia Kartseva](https://github.com/jkartseva)).
* Se añade la posibilidad de introducir una espera aleatoria de hasta 500 ms, independientemente del tamaño de las partes, antes de ejecutar merges/mutations en caso de replicación zero-copy. [#77165](https://github.com/ClickHouse/ClickHouse/pull/77165) ([Alexey Katsman](https://github.com/alexkats)).
* Se admite el renombrado atómico al usar `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)).
* Usa FixedString para los tipos CHARACTER, CHAR y BPCHAR de PostgreSQL. [#77304](https://github.com/ClickHouse/ClickHouse/pull/77304) ([Pablo Marcos](https://github.com/pamarcos)).
* Permite especificar explícitamente el archivo de metadatos que se leerá para Iceberg con la opción de storage/table function `iceberg_metadata_file_path `. Corrige [#47412](https://github.com/ClickHouse/ClickHouse/issues/47412). [#77318](https://github.com/ClickHouse/ClickHouse/pull/77318) ([alesapin](https://github.com/alesapin)).
* Se admite el uso de un disco remoto para que las bases de datos almacenen los archivos de metadatos. [#77365](https://github.com/ClickHouse/ClickHouse/pull/77365) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Se implementa la comparación para valores del tipo de datos JSON. Ahora los objetos JSON pueden compararse igual que los Map. [#77397](https://github.com/ClickHouse/ClickHouse/pull/77397) ([Pavel Kruglov](https://github.com/Avogar)).
* Se revirtió el cambio. [#77399](https://github.com/ClickHouse/ClickHouse/pull/77399) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 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 enfoque de lectura+escritura; - `'auto'` (nuevo valor predeterminado) - ClickHouse comparará primero las credenciales del origen y el destino. Si son las mismas, ClickHouse intentará la copia nativa de S3 y, si es necesario, recurrirá al enfoque de lectura+escritura. Si son diferentes, ClickHouse irá directamente al enfoque de lectura+escritura. [#77401](https://github.com/ClickHouse/ClickHouse/pull/77401) ([Vitaly Baranov](https://github.com/vitlibar)).
* 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 revierte la caché del índice de omisión. [#77447](https://github.com/ClickHouse/ClickHouse/pull/77447) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Reduce el uso de memoria durante el prefetch de la columna JSON en partes Wide. [#77640](https://github.com/ClickHouse/ClickHouse/pull/77640) ([Pavel Kruglov](https://github.com/Avogar)).
* Se admite el uso de tokens de sesión de AWS y 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)).
* Compatibilidad con parámetros de consulta en la configuración `additional_table_filters`. Después del cambio, la siguiente consulta se ejecutaría correctamente:. [#77680](https://github.com/ClickHouse/ClickHouse/pull/77680) ([wxybear](https://github.com/wxybear)).
* Las funciones definidas por el usuario (UDFs) ahora pueden marcarse como deterministas mediante una nueva etiqueta en su definición XML. Además, la caché de consultas ahora comprueba si las UDFs llamadas 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 añadió la validación de los parámetros 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 activar o desactivar pread en HDFS. [#77885](https://github.com/ClickHouse/ClickHouse/pull/77885) ([kevinyhzou](https://github.com/KevinyhZou)).
* Se añaden 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 una tabla temporal cuando disable\_insertion\_and\_mutation está activado. [#77901](https://github.com/ClickHouse/ClickHouse/pull/77901) ([Xu Jia](https://github.com/XuJia0210)).
* Reducir max\_insert\_delayed\_streams\_for\_parallel\_write (hasta 100). [#77919](https://github.com/ClickHouse/ClickHouse/pull/77919) ([Azat Khuzhin](https://github.com/azat)).
* Se añade la posibilidad de configurar el número de columnas que las fusiones pueden volcar en paralelo mediante `max_merge_delayed_streams_for_parallel_write` (esto debería reducir aproximadamente 25 veces el uso de memoria de las fusiones verticales a S3). [#77922](https://github.com/ClickHouse/ClickHouse/pull/77922) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el análisis del año en la sintaxis Joda en casos como 'yyy'. [#77973](https://github.com/ClickHouse/ClickHouse/pull/77973) ([李扬](https://github.com/taiyang-li)).
* La incorporación de partes de tablas MergeTree se realizará en el orden de sus bloques, lo que es importante para algoritmos especiales de fusió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 punto 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 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)).
* Corrige el análisis incorrecto de la URI de S3 cuando no se especifica la clave en path-style. [#78185](https://github.com/ClickHouse/ClickHouse/pull/78185) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrigieron los valores incorrectos de las métricas asíncronas `BlockActiveTime`, `BlockDiscardTime`, `BlockWriteTime`, `BlockQueueTime` y `BlockReadTime` (antes del cambio, se informaba incorrectamente 1 segundo como 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 StorageDeltaLake con la implementación de delta-kernel-rs, se mejora el rendimiento y la barra de progreso. [#78368](https://github.com/ClickHouse/ClickHouse/pull/78368) ([Kseniia Sumarokova](https://github.com/kssenii)).
* El índice de similitud vectorial podía asignar hasta 2 veces más memoria principal de la necesaria. 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. (issue [#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 (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, el 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`, la vista no admite resolución inferior a un segundo; `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)).
* Admite `include`, `from_env` y `from_zk` para discos del 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 varias formas prácticas de resolver el archivo metadata.json en la raíz en la función de tabla y el 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)).
* Compatibilidad con la poda de particiones en Delta Lake. [#78486](https://github.com/ClickHouse/ClickHouse/pull/78486) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admite la autenticación basada en contraseña en el protocolo SSH de ClickHouse. [#78586](https://github.com/ClickHouse/ClickHouse/pull/78586) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Añadir una advertencia dinámica a la tabla `system.warnings` para mutaciones de larga ejecución. [#78658](https://github.com/ClickHouse/ClickHouse/pull/78658) ([Bharat Nallan](https://github.com/bharatnc)).
* Descarta conexiones si la CPU está muy sobrecargada. La decisión se toma en función de la relación entre el tiempo de espera (`OSCPUWaitMicroseconds`) y el tiempo de actividad (`OSCPUVirtualTimeMicroseconds`). La consulta se descarta con cierta probabilidad cuando esta relación se encuentra entre `min_os_cpu_wait_time_ratio_to_drop_connection` y `max_os_cpu_wait_time_ratio_to_drop_connection`. [#78778](https://github.com/ClickHouse/ClickHouse/pull/78778) ([Alexey Katsman](https://github.com/alexkats)).
* Permitir un valor vacío en el particionado de Hive. [#78816](https://github.com/ClickHouse/ClickHouse/pull/78816) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrige la coerción de tipos de la cláusula `IN` para `BFloat16` (es decir, `SELECT toBFloat16(1) IN [1, 2, 3];` ahora devuelve `1`). Resuelve [#78754](https://github.com/ClickHouse/ClickHouse/issues/78754). [#78839](https://github.com/ClickHouse/ClickHouse/pull/78839) ([Raufs Dunamalijevs](https://github.com/rienath)).
* No comprobar las partes en otros discos de MergeTree si se ha establecido `disk=`. [#78855](https://github.com/ClickHouse/ClickHouse/pull/78855) ([Azat Khuzhin](https://github.com/azat)).
* Convertir en canónicos los tipos de datos de `used_data_type_families` en `system.query_log`. [#78972](https://github.com/ClickHouse/ClickHouse/pull/78972) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="bug-fix">
  ## Corrección de errores (mal funcionamiento visible para el usuario en una versión estable oficial)
</div>

* 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)).
* Corrige la resolución de identificadores desde ámbitos externos. 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 corrigió el recuento incorrecto de caracteres en PositionImpl::vectorVector. [#71003](https://github.com/ClickHouse/ClickHouse/pull/71003) ([思维](https://github.com/heymind)).
* Se corrige la monotonicidad de la función negate. En versiones anteriores, la consulta `select * from a where -x = -42;`, cuando `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)).
* Las operaciones `RESTORE` para las entidades de acceso requerían más permisos de los necesarios debido a revocaciones parciales que no se tenían en cuenta. 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)).
* Evita que se produzca una pausa después de `ALTER TABLE REPLACE/MOVE PARTITION FROM/TO TABLE`. Obtiene la configuración correcta para la programació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 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ó 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 sobre bases de datos o tablas con comodines ahora arrojan un error. [#72646](https://github.com/ClickHouse/ClickHouse/pull/72646) ([Johann Gan](https://github.com/johanngan)).
* Se corrige el problema por el que un usuario no puede ejecutar `REVOKE ALL ON *.*` debido a privilegios implícitos en la entidad de acceso de destino. [#72872](https://github.com/ClickHouse/ClickHouse/pull/72872) ([pufit](https://github.com/pufit)).
* Se corrige un atasco al procesar el 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 añade compatibilidad con tokens SAS de Azure. [#72959](https://github.com/ClickHouse/ClickHouse/pull/72959) ([Azat Khuzhin](https://github.com/azat)).
* Corrige el formato de las zonas horarias positivas en la función escalar formatDateTime. [#73091](https://github.com/ClickHouse/ClickHouse/pull/73091) ([ollidraese](https://github.com/ollidraese)).
* Se corrige para reflejar correctamente el puerto de origen cuando la conexión se realiza a través de PROXYv1 y `auth_use_forwarded_address` está habilitado; 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 ajustes 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 la lectura de las subcolumnas de subobjetos JSON con un prefijo incorrecto. [#73182](https://github.com/ClickHouse/ClickHouse/pull/73182) ([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 fallo 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 placeholder `%f` de la función `formatDateTime` ahora genera invariablemente seis dígitos (de subsegundos). Esto hace que el comportamiento sea compatible con la función `DATE_FORMAT` de MySQL. El comportamiento anterior se puede restaurar 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 mejoró la conversión de fecha y hora durante el análisis de índices al aplicar un comportamiento saturado a 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)).
* Se corrigió el filtrado por la columna `_etag` al leer del almacenamiento `s3` y de la función de tabla. [#73353](https://github.com/ClickHouse/ClickHouse/pull/73353) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió el error `Not-ready Set is passed as the second argument for function 'in'` cuando se usa `IN (subquery)` en la expresión `JOIN ON`, con el analizador antiguo. [#73382](https://github.com/ClickHouse/ClickHouse/pull/73382) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrección en la preparación para `squashin` de las columnas Dynamic y JSON. Anteriormente, en algunos casos se podían insertar nuevos tipos en el variant compartido o en los datos compartidos incluso cuando no se alcanzaba el límite de tipos/rutas. [#73388](https://github.com/ClickHouse/ClickHouse/pull/73388) ([Pavel Kruglov](https://github.com/Avogar)).
* Comprobar tamaños corruptos al decodificar tipos en binario para evitar asignaciones excesivamente grandes. [#73390](https://github.com/ClickHouse/ClickHouse/pull/73390) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrigió un error lógico al leer de un clúster con una sola réplica y las réplicas paralelas habilitadas. [#73403](https://github.com/ClickHouse/ClickHouse/pull/73403) ([Michael Kolupaev](https://github.com/al13n321)).
* Se corrigió 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 particionado 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 vectorial de similitud. [#73517](https://github.com/ClickHouse/ClickHouse/pull/73517) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige un segfault cuando el origen del diccionario contiene una función con datos erróneos. [#73535](https://github.com/ClickHouse/ClickHouse/pull/73535) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Corrige los reintentos de una operación `insert` fallida 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 aparecer en algunos casos en tuplas con elementos `LowCardinality` y con la configuración `optimize_functions_to_subcolumns` habilitada. [#73548](https://github.com/ClickHouse/ClickHouse/pull/73548) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el análisis de un enum glob seguido de uno 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 las subconsultas de tablas no replicadas. [#73584](https://github.com/ClickHouse/ClickHouse/pull/73584) ([Igor Nikonov](https://github.com/devcrafter)).
* Corrección para `std::logical_error` lanzado cuando no se puede programar una tarea. Detectado en pruebas de estrés. Ejemplo de stacktrace: `2024.12.19 02:05:46.171833 [ 18190 ] {01f0daba-d3cc-4898-9e0e-c2c263306427} <Fatal> : Logical error: 'std::exception. Code: 1001, type: std::__1::future_error, e.what() = The associated promise has been destructed prior to the associated state becoming ready. (version 25.1.1.18724), Stack trace:.` [#73629](https://github.com/ClickHouse/ClickHouse/pull/73629) ([Alexander Gololobov](https://github.com/davenger)).
* No se interpretan 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 la columna Dynamic. Soluciona un 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 las 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 al forzar el uso de la proyección normal cuando la consulta era exactamente igual a la proyección definida, pero la proyección no se seleccionaba y, por tanto, se mostraba un error. [#73700](https://github.com/ClickHouse/ClickHouse/pull/73700) ([Shichao Jin](https://github.com/jsc0218)).
* Se corrigió 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` durante la restauración de partes desde una copia de seguridad. [#73768](https://github.com/ClickHouse/ClickHouse/pull/73768) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige [#73737](https://github.com/ClickHouse/ClickHouse/issues/73737). [#73775](https://github.com/ClickHouse/ClickHouse/pull/73775) ([zhanglistar](https://github.com/zhanglistar)).
* Corrige [#72078](https://github.com/ClickHouse/ClickHouse/issues/72078) ( se había roto la compatibilidad con S3 Express ). [#73777](https://github.com/ClickHouse/ClickHouse/pull/73777) ([Sameer Tamsekar](https://github.com/stamsekar)).
* Permitir la combinació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 el siguiente error `Row 1: ────── hostname: c-test-wy-37-server-nlkyjyb-0.c-test-wy-37-server-headless.ns-test-wy-37.svc.cluster.local type: ExceptionWhileProcessing event_date: 2024-12-23 event_time: 2024-12-23 16:21:19 event_time_microseconds: 2024-12-23 16:21:19.824624 query_start_time: 2024-12-23 16:21:19 query_start_time_microseconds: 2024-12-23 16:21:19.747142 query_duration_ms: 77 read_rows: 1 read_bytes: 134 written_rows: 0 written_bytes: 0 result_rows: 0 result_bytes: 0 memory_usage: 7824 current_database: default query: CREATE DATABASE db0 formatted_query: normalized_query_hash: 7820917191074023511 -- 7.82 quintillion query_kind: Create databases: ['db0'] tables: [] columns: [] partitions: [] projections: [] views: [] exception_code: 170 exception: Code: 170. DB::Exception: Bad get: has Null, requested Int64: While executing DDLOnClusterQueryStatus. (BAD_GET) (version 25.1.1.19134 (official build)) stack_trace: 0. ./build_docker/./src/Common/Exception.cpp:107: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x000000000da5e53b 1. DB::Exception::Exception(PreformattedMessage&&, int) @ 0x00000000088aca4c 2. DB::Exception::Exception<std::basic_string_view<char, std::char_traits<char>>, std::basic_string_view<char, std::char_traits<char>>>(int, FormatStringHelperImpl<std::type_identity<std::basic_string_view<char, std::char_traits<char>>>::type, std::type_identity<std::basic_string_view<char, std::char_traits<char>>>::type>, std::basic_string_view<char, std::char_traits<char>>&&, std::basic_string_view<char, std::char_traits<char>>&&) @ 0x00000000088bae8b 3. auto& DB::Field::safeGet<long>() & @ 0x0000000008a3c748 4. ./src/Core/Field.h:484: DB::ColumnVector<long>::insert(DB::Field const&) @ 0x0000000012e44c0f 5. ./build_docker/./src/Interpreters/DDLOnClusterQueryStatusSource.cpp:53: DB::DDLOnClusterQueryStatusSource::generateChunkWithUnfinishedHosts() const @ 0x0000000012a40214 6. ./build_docker/./src/Interpreters/DDLOnClusterQueryStatusSource.cpp:104: DB::DDLOnClusterQueryStatusSource::handleTimeoutExceeded() @ 0x0000000012a41640 7. ./build_docker/./src/Interpreters/DDLOnClusterQueryStatusSource.cpp:109: DB::DDLOnClusterQueryStatusSource::stopWaitingOfflineHosts() @ 0x0000000012a41be9 8. ./build_docker/./src/Interpreters/DistributedQueryStatusSource.cpp:182: DB::DistributedQueryStatusSource::generate() @ 0x0000000011feb3bf 9. ./build_docker/./src/Processors/ISource.cpp:139: DB::ISource::tryGenerate() @ 0x0000000014148f5b 10. ./build_docker/./src/Processors/ISource.cpp:108: DB::ISource::work() @ 0x0000000014148c47 11. ./build_docker/./src/Processors/Executors/ExecutionThreadContext.cpp:49: DB::ExecutionThreadContext::executeTask() @ 0x0000000014164fc7 12. ./build_docker/./src/Processors/Executors/PipelineExecutor.cpp:290: DB::PipelineExecutor::executeStepImpl(unsigned long, std::atomic<bool>*) @ 0x00000000141577e5`. [#73876](https://github.com/ClickHouse/ClickHouse/pull/73876) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige fallos ocasionales al comparar tipos `map()` debido a la posibilidad de crear `Map` sin los nombres explícitos ('keys','values') de su tupla anidada. [#73878](https://github.com/ClickHouse/ClickHouse/pull/73878) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se ignoran las funciones de ventana durante la resolución de la cláusula GROUP BY ALL. Se corrige [#73501](https://github.com/ClickHouse/ClickHouse/issues/73501). [#73916](https://github.com/ClickHouse/ClickHouse/pull/73916) ([Dmitry Novik](https://github.com/novikd)).
* Propagar correctamente la configuración del Native format en la comunicación client-server. [#73924](https://github.com/ClickHouse/ClickHouse/pull/73924) ([Pavel Kruglov](https://github.com/Avogar)).
* Corregir 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 uso elevado de memoria durante la creación de Maps anidados. [#73982](https://github.com/ClickHouse/ClickHouse/pull/73982) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el análisis de JSON anidado con claves vacías. [#73993](https://github.com/ClickHouse/ClickHouse/pull/73993) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrección: puede 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)).
* Un disco que usa los metadatos plain\_rewritable puede compartirse entre varias instancias del servidor. Es normal que una instancia lea un objeto de metadatos mientras otra lo modifica. Los errores de objeto no encontrado se ignoran durante la inicialización de plain\_rewritable con Azure Storage, de forma similar al comportamiento implementado para S3. [#74059](https://github.com/ClickHouse/ClickHouse/pull/74059) ([Julia Kartseva](https://github.com/jkartseva)).
* Se corrigió 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 con nombre en el motor de tabla Kafka. [#74064](https://github.com/ClickHouse/ClickHouse/pull/74064) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Se corrigió la modificación de la configuración del Storage `S3Queue` para pasar de usar el prefijo "s3queue\_" a no usarlo, y viceversa. [#74075](https://github.com/ClickHouse/ClickHouse/pull/74075) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 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 haber un puerto en el campo forwarded\_for, lo que impide resolver el nombre de host cuando incluye el puerto. [#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 es posible 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 de SQL en las funciones de tabla de PostgreSQL y SQLite. [#74144](https://github.com/ClickHouse/ClickHouse/pull/74144) ([Pablo Marcos](https://github.com/pamarcos)).
* Se corrige un 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 se producía en las consultas a system.detached\_tables. [#74190](https://github.com/ClickHouse/ClickHouse/pull/74190) ([Konstantin Morozov](https://github.com/k-morozov)).
* Se corrigió 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)).
* Comprobación de tipos no compatibles en algunos almacenamientos. [#74218](https://github.com/ClickHouse/ClickHouse/pull/74218) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige un fallo que provocaba un cierre inesperado al ejecutar la consulta `INSERT INTO SELECT` a través de la Interfaz de PostgreSQL en macOS (incidencia [#72938](https://github.com/ClickHouse/ClickHouse/issues/72938)). [#74231](https://github.com/ClickHouse/ClickHouse/pull/74231) ([Artem Yurov](https://github.com/ArtemYurov)).
* Se corrigen los ajustes de copia nativa (`allow_s3_native_copy`/`allow_azure_native_copy`) para `RESTORE` desde una copia de seguridad base. [#74286](https://github.com/ClickHouse/ClickHouse/pull/74286) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un problema que ocurría cuando el número de tablas desvinculadas 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 corrigió 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 falta de inicialización de max\_log\_ptr en la base de datos replicada. [#74336](https://github.com/ClickHouse/ClickHouse/pull/74336) ([Konstantin Morozov](https://github.com/k-morozov)).
* Se corrigió la detección de "use the Rewrite method in the JSON API" en la copia nativa en GCS. [#74338](https://github.com/ClickHouse/ClickHouse/pull/74338) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el bloqueo al insertar interval (incidencia [#74299](https://github.com/ClickHouse/ClickHouse/issues/74299)). [#74478](https://github.com/ClickHouse/ClickHouse/pull/74478) ([NamNguyenHoai](https://github.com/NamHoaiNguyen)).
* Corrige el análisis incorrecto de las 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. [#74498](https://github.com/ClickHouse/ClickHouse/pull/74498) ([Amos Bird](https://github.com/amosbird)).
* Corregir 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)).
* Se corrige un 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 formato de los 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)).
* Corrige un problema de alineación de memoria detectado 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 corrige 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 elimine las columnas no utilizadas de la proyección en las subconsultas cuando haya `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 corrige la consulta CREATE que fallaba 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)).
* Se corrigieron las consultas `INSERT SELECT` entre tablas con columnas `Tuple` y serialización dispersa habilitada. [#74698](https://github.com/ClickHouse/ClickHouse/pull/74698) ([Anton Popov](https://github.com/CurtizJ)).
* La función `right` no funciona correctamente con un desplazamiento negativo constante. [#74701](https://github.com/ClickHouse/ClickHouse/pull/74701) ([Daniil Ivanik](https://github.com/divanik)).
* Se corrige un problema por el que la inserción de datos comprimidos con gzip a veces fallaba debido a una descompresión defectuosa del lado del client. [#74707](https://github.com/ClickHouse/ClickHouse/pull/74707) ([siyuan](https://github.com/linkwk7)).
* Evita dejar la conexión en un estado erróneo después de que INSERT finalice con una excepción. [#74740](https://github.com/ClickHouse/ClickHouse/pull/74740) ([Azat Khuzhin](https://github.com/azat)).
* Evita reutilizar conexiones que se habían dejado en un estado intermedio. [#74749](https://github.com/ClickHouse/ClickHouse/pull/74749) ([Azat Khuzhin](https://github.com/azat)).
* Las revocaciones parciales de privilegios con comodines podí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)).
* Se corrige un cierre inesperado durante el análisis de 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)).
* Corrección en Keeper: se corrige la lectura de 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 permiso sobre `*.*` para ejecutar una consulta sobre una vista específica; solo se requieren permisos para 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 con alias. Corrígela para que también funcione con columnas con alias. [#74841](https://github.com/ClickHouse/ClickHouse/pull/74841) ([Bharat Nallan](https://github.com/bharatnc)).
* Keeper: 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 solicitudes a Azure. [#74880](https://github.com/ClickHouse/ClickHouse/pull/74880) ([Alexey Katsman](https://github.com/alexkats)).
* Se corrigen 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)).
* Corregido el error FILE\_DOESNT\_EXIST que se producía al fusionar 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 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)).
* Renueva el ticket krb de HDFS si se produce un error de SASL durante una solicitud SELECT de HDFS. [#74930](https://github.com/ClickHouse/ClickHouse/pull/74930) ([inv2004](https://github.com/inv2004)).
* Corregidas las consultas de 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 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)).
* Restaurar el estado de la parte de deleting a outdated cuando falle 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 escribir el progreso (acumulado durante el procesamiento de la subconsulta) al inicializar el 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 que dejaba la conexión en un estado incorrecto en el client tras excepciones de INSERT. [#75030](https://github.com/ClickHouse/ClickHouse/pull/75030) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un bloqueo 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 que falle cualquier llamada RPC; esta corrección permite 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 (primario y secundario) para las columnas `Array`, `Map` y `Nullable(..)` con la configuración `optimize_function_to_subcolumns` habilitada. Anteriormente, los índices de estas columnas podían ser ignorados. [#75081](https://github.com/ClickHouse/ClickHouse/pull/75081) ([Anton Popov](https://github.com/CurtizJ)).
* Deshabilita `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)).
* Se corrigió un problema por el que algunas direcciones IPv6 (como ::ffff:1.1.1.1) en el campo forwarded\_for se interpretaban erróneamente, lo que provocaba la desconexión del client con una excepción. [#75133](https://github.com/ClickHouse/ClickHouse/pull/75133) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Corrige el manejo de JOIN nullsafe para el tipo de dato Nullable de LowCardinality. Anteriormente, JOIN ON con comparación nullsafe, 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)).
* Corrige 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)).
* Corregido el fallo que provocaba un cierre inesperado de CTE con Insert. [#75188](https://github.com/ClickHouse/ClickHouse/pull/75188) ([Shichao Jin](https://github.com/jsc0218)).
* Corrección de Keeper: evita escribir en changelogs corruptos 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)).
* Se corrigieron 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)).
* Enmascarar 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 cual ClickHouse podía aplicar erróneamente un filter pushdown 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 al generar salida en formato Protobuf y ejecutar en paralelo 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 sin inicializar cuando se hace pushdown de un filtro de `HAVING` con réplicas paralelas. [#75363](https://github.com/ClickHouse/ClickHouse/pull/75363) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Oculta información sensible en las funciones de tabla y los motores de tabla `icebergS3` e `icebergAzure`. [#75378](https://github.com/ClickHouse/ClickHouse/pull/75378) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La función `TRIM` ahora maneja correctamente los caracteres de recorte vacíos calculados. 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 race condition en IOutputFormat. [#75448](https://github.com/ClickHouse/ClickHouse/pull/75448) ([Pavel Kruglov](https://github.com/Avogar)).
* 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)).
* Corrige un cálculo incorrecto del tamaño del búfer de resultados. Cierra [#70031](https://github.com/ClickHouse/ClickHouse/issues/70031). [#75548](https://github.com/ClickHouse/ClickHouse/pull/75548) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Corrige la interacción entre allow\_feature\_tier y la configuración compatibility de MergeTree. [#75635](https://github.com/ClickHouse/ClickHouse/pull/75635) ([Raúl Marín](https://github.com/Algunenano)).
* Corregir el valor incorrecto de processed\_rows en system.s3queue\_log si se reintentó el 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 hay 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` tras múltiples consultas `RENAME` asíncronas (con `alter_sync = 0`) entre columnas de distintos tipos. [#75693](https://github.com/ClickHouse/ClickHouse/pull/75693) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el error `Block structure mismatch in QueryPipeline stream` 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 de PK. Anteriormente, esto podía provocar errores `CANNOT_READ_ALL_DATA` durante los SELECT después de ejecutar alter modify en 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 analizador). [#75732](https://github.com/ClickHouse/ClickHouse/pull/75732) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió una desreferenciación de 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)).
* Corrige una 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)).
* Se propaga la configuración de formato a JSON como formateo de 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 configuración que parallel hash pasó a estar habilitado de forma predeterminada 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 que impedía copiar a una nueva tabla las tablas con índices min-max añadidos implícitamente (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 filesystem, por lo que solo es seguro ejecutarlo dentro de un entorno aislado. Para evitar una vulnerabilidad cuando se ejecuta junto a clickhouse-server, limitaremos las rutas de las bibliotecas a una ubicación especificada en la configuración. Esta vulnerabilidad fue обнаружена con el [ClickHouse Bug Bounty Program](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)).
* Terminamos usando la serialización JSON para algunos metadatos, y eso fue un error, porque JSON no admite datos binarios dentro de cadenas literales, incluidos los bytes nulos. Las consultas SQL pueden contener datos binarios y UTF-8 no válido, por lo que también tenemos que admitirlo en nuestros archivos de metadatos. Al mismo tiempo, `JSONEachRow` de ClickHouse y formatos similares eluden ese problema apartándose del estándar JSON para permitir una ida y vuelta perfecta de los datos binarios. Consulta la motivació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 en formato JSON de 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 `Part <...> does not contain in snapshot of previous virtual parts. (PART_IS_TEMPORARILY_LOCKED)` al ejecutar DETACH PART. [#76039](https://github.com/ClickHouse/ClickHouse/pull/76039) ([Aleksei Filatov](https://github.com/aalexfvk)).
* 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, por lo que el contenido resultante de la traza de pila no siempre respetaba esta configuración. [#76191](https://github.com/ClickHouse/ClickHouse/pull/76191) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrigió reinterpretAs con FixedString en arquitecturas big-endian. [#76253](https://github.com/ClickHouse/ClickHouse/pull/76253) ([Azat Khuzhin](https://github.com/azat)).
* Corrige todo tipo de errores debidos a condiciones de carrera entre UUID y nombres de tabla (por ejemplo, corrige la condición de carrera entre `RENAME` y `RESTART REPLICA`; en caso de un `RENAME` concurrente con `SYSTEM RESTART REPLICA`, puede que termines reiniciando la réplica incorrecta 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)).
* Se eliminó la asignación en el manejador de señales. [#76446](https://github.com/ClickHouse/ClickHouse/pull/76446) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigen errores inesperados durante el desalojo al gestionar el redimensionamiento dinámico de la caché del sistema de archivos. [#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. Podría provocar una caída 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 del navegador en la web UI. Cierra [#76319](https://github.com/ClickHouse/ClickHouse/issues/76319). [#76637](https://github.com/ClickHouse/ClickHouse/pull/76637) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió la excepción THERE\_IS\_NO\_COLUMN al seleccionar un literal booleano desde 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 de una forma más precisa. [#76681](https://github.com/ClickHouse/ClickHouse/pull/76681) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige 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), también 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)).
* Se añaden pruebas de rendimiento para los cortocircuitos con NULL y se corrigen errores. [#76708](https://github.com/ClickHouse/ClickHouse/pull/76708) ([李扬](https://github.com/taiyang-li)).
* Vacía 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, p. ej., `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 modificó la correspondencia 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ó la correspondencia de OID, preservando la compatibilidad con versiones anteriores. [#76762](https://github.com/ClickHouse/ClickHouse/pull/76762) ([Kirill Nikiforov](https://github.com/allmazz)).
* Se corrige el manejo 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 corrigió el análisis inverso de claves 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 impresión formateada 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 debido a una reversión incorrecta de la columna JSON cuando se produce un error durante las inserciones asíncronas. [#76908](https://github.com/ClickHouse/ClickHouse/pull/76908) ([Pavel Kruglov](https://github.com/Avogar)).
* Anteriormente, `multi_if` podía devolver columnas de distintos tipos durante la planificación y la ejecución principal. Esto provocaba que el código generara 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 de tipo Nullable en MergeTree. Esto corrige [#76939](https://github.com/ClickHouse/ClickHouse/issues/76939). [#76985](https://github.com/ClickHouse/ClickHouse/pull/76985) ([Amos Bird](https://github.com/amosbird)).
* Corrige 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 corrige JSON con una subcolumna Variant añadiendo una comprobación para omitir las subcolumnas efímeras en la comprobación de consistencia de las partes. [#72187](https://github.com/ClickHouse/ClickHouse/issues/72187). [#77034](https://github.com/ClickHouse/ClickHouse/pull/77034) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Corregido un cierre inesperado al analizar plantillas 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 crear tablas EmbeddedRocksDB con una subcolumna en la clave primaria. Anteriormente, se podían crear tablas de este tipo, pero las consultas `SELECT` fallaban. [#77074](https://github.com/ClickHouse/ClickHouse/pull/77074) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige la comparación no válida en las consultas distribuidas, porque la propagación de predicados al nodo remoto 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 durante la creación de tablas de Kafka cuando se producía una excepción. [#77121](https://github.com/ClickHouse/ClickHouse/pull/77121) ([Pavel Kruglov](https://github.com/Avogar)).
* Se añade compatibilidad con JSON y subcolumnas nuevos en los motores Kafka y RabbitMQ. [#77122](https://github.com/ClickHouse/ClickHouse/pull/77122) ([Pavel Kruglov](https://github.com/Avogar)).
* Se corrige el desenrollado de la pila de excepciones en MacOS. [#77126](https://github.com/ClickHouse/ClickHouse/pull/77126) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige 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 corrigen 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)).
* Corrige el índice bloom filter con Array y funciones no admitidas. [#77271](https://github.com/ClickHouse/ClickHouse/pull/77271) ([Pavel Kruglov](https://github.com/Avogar)).
* Solo deberíamos comprobar la restricción del número de tablas durante la consulta CREATE inicial. [#77274](https://github.com/ClickHouse/ClickHouse/pull/77274) ([Nikolay Degterinsky](https://github.com/evillique)).
* `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 compilaciones de depuración (esta referencia sin inicializar no causará problemas en compilaciones release porque es probable que el código posterior arroje 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 revirtió. [#77307](https://github.com/ClickHouse/ClickHouse/pull/77307) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió el nombre de la partición para 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)).
* Corrige la comparación entre tuplas con elementos Nullable y cadenas. Por ejemplo, antes de este cambio, la comparación entre una Tuple `(1, null)` y un String `'(1,null)'` producía un error. Otro caso sería la comparación entre una 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)).
* Soluciona un fallo en ObjectStorageQueueSource. Se introdujo 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 corrigió un error por el que el parámetro de consulta `close_session` no tenía ningún efecto, por lo que las sesiones con nombre solo se cerraban después de `session_timeout`. [#77336](https://github.com/ClickHouse/ClickHouse/pull/77336) ([Alexey Katsman](https://github.com/alexkats)).
* 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 de ordenación. Problema similar relacionado con el cálculo inconsistente de un DAG para la expresión `INTERPOLATE`. [#77343](https://github.com/ClickHouse/ClickHouse/pull/77343) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se revirtió. [#77390](https://github.com/ClickHouse/ClickHouse/pull/77390) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Se corrigió la recepción de mensajes desde el servidor NATS sin una mv asociada. [#77392](https://github.com/ClickHouse/ClickHouse/pull/77392) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Se 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)).
* Se solucionan varios `LOGICAL_ERROR` al asignar un alias a nodos AST no válidos. [#77445](https://github.com/ClickHouse/ClickHouse/pull/77445) ([Raúl Marín](https://github.com/Algunenano)).
* En la implementación de la caché del sistema de archivos, se corrigió el manejo de errores durante la escritura de segmentos de archivo. [#77471](https://github.com/ClickHouse/ClickHouse/pull/77471) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Hace 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)).
* Usar la configuración predeterminada de formato en la serialización de Dynamic desde una variante compartida. [#77572](https://github.com/ClickHouse/ClickHouse/pull/77572) ([Pavel Kruglov](https://github.com/Avogar)).
* Se revierte 'Evitar toAST() en la ejecución de subconsultas escalares'. [#77584](https://github.com/ClickHouse/ClickHouse/pull/77584) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige la comprobación de la existencia de la ruta de datos de la tabla en el disco local. [#77608](https://github.com/ClickHouse/ClickHouse/pull/77608) ([Tuan Pham Anh](https://github.com/tuanpach)).
* La caché de consultas ahora asume 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 cuyos resultados se almacenaban 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ó 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)).
* Se corrigió system.filesystem\_cache\_log, que solo funcionaba con la configuración `enable_filesystem_cache_log`. [#77650](https://github.com/ClickHouse/ClickHouse/pull/77650) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Soluciona un error lógico al llamar a la función `defaultRoles()` dentro de una proyección. Como seguimiento de [#76627](https://github.com/ClickHouse/ClickHouse/issues/76627). [#77667](https://github.com/ClickHouse/ClickHouse/pull/77667) ([pufit](https://github.com/pufit)).
* Se corrige un fallo causado por un contexto caducado en StorageS3(Azure)Queue. [#77720](https://github.com/ClickHouse/ClickHouse/pull/77720) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Los segundos argumentos de tipo `Nullable` para la función `arrayResize` ya no se permiten. Anteriormente, usar `Nullable` como segundo argumento podía provocar 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)).
* Ocultar 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)).
* Corrige el comportamiento indefinido al comparar 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 las mutaciones se han cancelado, incluso cuando la operación no produce ningún bloque para escribir. [#77766](https://github.com/ClickHouse/ClickHouse/pull/77766) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Se revirtió. [#77843](https://github.com/ClickHouse/ClickHouse/pull/77843) ([Vladimir Cherkasov](https://github.com/vdimir)).
* 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 `StorageSystemObjectStorageQueueSettings` al completar los datos. [#77878](https://github.com/ClickHouse/ClickHouse/pull/77878) ([Bharat Nallan](https://github.com/bharatnc)).
* Se deshabilitó la búsqueda difusa en el historial del servidor SSH (ya que requiere 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 no indexada devolvía resultados incorrectos si había otra columna vectorial en la tabla con un índice de similitud vectorial definido. (Issue [#77978](https://github.com/ClickHouse/ClickHouse/issues/77978)). [#78069](https://github.com/ClickHouse/ClickHouse/pull/78069) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Corrige el mensaje `The requested output format {} is binary... Do you want to output it anyway? [y/N]`. [#78095](https://github.com/ClickHouse/ClickHouse/pull/78095) ([Azat Khuzhin](https://github.com/azat)).
* 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)).
* Impedir 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 corrigió la sobrescritura de metadatos en Database Replicated, que podía producirse 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 motor NATS. [#78108](https://github.com/ClickHouse/ClickHouse/pull/78108) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* No intente crear un `history_file` en un client integrado para SSH. [#78112](https://github.com/ClickHouse/ClickHouse/pull/78112) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige que system.detached\_tables muestre información incorrecta después de las sentencias RENAME DATABASE o DROP TABLE. [#78126](https://github.com/ClickHouse/ClickHouse/pull/78126) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrección de las comprobaciones cuando hay demasiadas tablas con Database Replicated después de [https://github.com/ClickHouse/ClickHouse/pull/77274](https://github.com/ClickHouse/ClickHouse/pull/77274). Además, la comprobación ahora se realiza antes de crear el almacenamiento para evitar crear nodos no contabilizados en ZooKeeper en el caso de RMT o KeeperMap. [#78127](https://github.com/ClickHouse/ClickHouse/pull/78127) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige un posible fallo 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, igual que 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 en recoverLostReplica si la tabla local se elimina antes de pasar a detached. [#78173](https://github.com/ClickHouse/ClickHouse/pull/78173) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el problema de la columna "alterable" en system.s3\_queue\_settings, que siempre devolvía `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 / resultados incorrectos de `mapFromArrays` en el caso de arrays de claves 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. [#78255](https://github.com/ClickHouse/ClickHouse/pull/78255) ([Kseniia Sumarokova](https://github.com/kssenii)).
* No programar la tarea de RefreshMV si `disable_insertion_and_mutation` de una réplica es true. Una tarea corresponde a 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 perderse en tablas con motor `Distributed`. [#78428](https://github.com/ClickHouse/ClickHouse/pull/78428) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* `Bitmapmin` devuelve uint32\_max cuando el bitmap es `empty(uint64_max when input type >= 8bits)`, lo que coincide con el comportamiento de `minimum()` de un `roaring_bitmap` vacío. [#78444](https://github.com/ClickHouse/ClickHouse/pull/78444) ([wxybear](https://github.com/wxybear)).
* Se revierte "Aplicar el atributo preserve\_most en algunos puntos del código" porque puede provocar fallos. [#78449](https://github.com/ClickHouse/ClickHouse/pull/78449) ([Azat Khuzhin](https://github.com/azat)).
* Usar columnas de inserción para inferir el esquema de INFILE. [#78490](https://github.com/ClickHouse/ClickHouse/pull/78490) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Deshabilita el procesamiento paralelo de consultas inmediatamente 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 haya cero flujos planificados después de 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 almacenamiento S3Queue se corrige el error lógico "No se puede desregistrar: el UUID de la tabla no está registrado". 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 determinar su cgroup v2 en sistemas en los que están habilitados tanto cgroups v1 como v2. [#78566](https://github.com/ClickHouse/ClickHouse/pull/78566) ([Grigory Korolev](https://github.com/gkorolev)).
* Las funciones de tabla de clúster de ObjectStorage fallaban al usarse con ajustes a nivel de tabla. [#78587](https://github.com/ClickHouse/ClickHouse/pull/78587) ([Daniil Ivanik](https://github.com/divanik)).
* ReplicatedMergeTree no admite comprobaciones de transacciones mejoradas en los `INSERT`. [#78633](https://github.com/ClickHouse/ClickHouse/pull/78633) ([Azat Khuzhin](https://github.com/azat)).
* Aplicar la configuración de la consulta durante ATTACH. [#78637](https://github.com/ClickHouse/ClickHouse/pull/78637) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige un cierre inesperado 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 implementación `delta-kernel`, se corrige el caso en que el esquema leído difiere del esquema de la tabla y, además, hay columnas de partición, lo que provocaba un error de columna no encontrada. [#78690](https://github.com/ClickHouse/ClickHouse/pull/78690) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Esta actualización corrige un error por el que una nueva sesión con nombre se cerraba inadvertidamente en el momento programado para una sesión anterior si ambas sesiones compartían el mismo nombre y la nueva se creaba antes de que expirara el timeout de la anterior. [#78698](https://github.com/ClickHouse/ClickHouse/pull/78698) ([Alexey Katsman](https://github.com/alexkats)).
* No bloquear el cierre de la tabla mientras se ejecuta CHECK TABLE. [#78782](https://github.com/ClickHouse/ClickHouse/pull/78782) ([Raúl Marín](https://github.com/Algunenano)).
* Corrección de Keeper: se corrige el recuento de nodos efímeros en todos los casos. [#78799](https://github.com/ClickHouse/ClickHouse/pull/78799) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió un `cast` incorrecto 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 el formateo 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 su valor es 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)).
* Se corrige un fallo en REFRESHABLE MV en caso de ejecutar ALTER tras un cierre incorrecto. [#78858](https://github.com/ClickHouse/ClickHouse/pull/78858) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el análisis de valores de DateTime incorrectos en formato CSV. [#78919](https://github.com/ClickHouse/ClickHouse/pull/78919) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="build-testing-packaging-improvement">
  ## Mejora en compilación/pruebas/empaquetado
</div>

* La dependencia interna LLVM pasa de la versión 16 a la 18. [#66053](https://github.com/ClickHouse/ClickHouse/pull/66053) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se restauraron las pruebas de integración eliminadas de nats y se corrigieron errores. - se corrigieron algunas condiciones de carrera en el motor nats - se corrigió la pérdida de datos al transmitir datos a nats en caso de pérdida de conexión - se corrigió el bloqueo al recibir el último fragmento de datos cuando finalizaba la transmisión desde nats - nats\_max\_reconnect está en desuso y no tiene efecto; la reconexión se realiza permanentemente con el tiempo de espera nats\_reconnect\_wait. [#69772](https://github.com/ClickHouse/ClickHouse/pull/69772) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Se corrigió el problema que impedía generar los archivos asm de contrib openssl. [#72622](https://github.com/ClickHouse/ClickHouse/pull/72622) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Mejorar la estabilidad de la prueba 03210\_variant\_with\_aggregate\_function\_type. [#74012](https://github.com/ClickHouse/ClickHouse/pull/74012) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Se admite la compilación de HDFS tanto en Mac con ARM como en Mac Intel. [#74244](https://github.com/ClickHouse/ClickHouse/pull/74244) ([Yan Xin](https://github.com/yxheartipp)).
* 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)).
* Corregir la compilación cuando Kerberos no está habilitado. [#74771](https://github.com/ClickHouse/ClickHouse/pull/74771) ([flynn](https://github.com/ucasfl)).
* Actualización al LLVM 19 integrado. [#75148](https://github.com/ClickHouse/ClickHouse/pull/75148) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* *Posible cambio incompatible*: Mejora para establecer valores predeterminados aún más restrictivos. Los valores predeterminados actuales ya son seguros. El usuario debe especificar explícitamente una opción para publicar puertos. Pero cuando el usuario `default` no tiene una contraseña establecida mediante la variable de entorno `CLICKHOUSE_PASSWORD` y/o un nombre de usuario cambiado mediante `CLICKHOUSE_USER`, solo debería estar disponible desde el sistema local como nivel adicional de protección. [#75259](https://github.com/ClickHouse/ClickHouse/pull/75259) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Las pruebas de integración tienen un timeout de 1 hora para un solo lote de pruebas paralelas en ejecución. Cuando se alcanza este timeout, `pytest` finaliza sin generar algunos logs. El timeout interno de pytest está configurado en 55 minutos para imprimir los resultados de una sesión y no activar la señal de timeout externa. Cierra [#75532](https://github.com/ClickHouse/ClickHouse/issues/75532). [#75533](https://github.com/ClickHouse/ClickHouse/pull/75533) ([Ilya Yatsishin](https://github.com/qoega)).
* Convertir todas las acciones relacionadas con clickhouse-server en una función y ejecutarlas solo al iniciar el binary predeterminado desde `entrypoint.sh`. En [#50724](https://github.com/ClickHouse/ClickHouse/issues/50724) se propuso una mejora largamente aplazada. 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)).
* Para las pruebas de estrés, si el servidor no se cerró mientras recopilábamos stacktraces con gdb, se añade un tiempo de espera adicional para que la detección de `Possible deadlock on shutdown (see gdb.log)` genere menos ruido. Solo añade retraso en los casos en que la prueba no haya finalizado correctamente. [#75668](https://github.com/ClickHouse/ClickHouse/pull/75668) ([Ilya Yatsishin](https://github.com/qoega)).
* Se restauraron las pruebas de integración de nats eliminadas y se corrigieron errores. - se corrigieron algunas condiciones de carrera en el motor nats - se corrigió la pérdida de datos al transmitir datos a nats en caso de pérdida de conexión - se corrigió el bloqueo al recibir el último fragmento de datos cuando finalizaba la transmisión desde nats - nats\_max\_reconnect está obsoleto y no tiene efecto; la reconexión se realiza de forma permanente con el tiempo de espera nats\_reconnect\_wait. [#75850](https://github.com/ClickHouse/ClickHouse/pull/75850) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Habilitar ICU y GRPC en la compilación cruzada para Darwin. [#75922](https://github.com/ClickHouse/ClickHouse/pull/75922) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige la salida de la prueba de splitting debido a `sleep` durante la finalización del grupo de procesos. [#76090](https://github.com/ClickHouse/ClickHouse/pull/76090) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* No recopile los logs de `docker-compose` al final de la ejecución, ya que el script suele detenerse. En su lugar, recopílelos en segundo plano. [#76140](https://github.com/ClickHouse/ClickHouse/pull/76140) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se dividieron las pruebas del almacenamiento de Kafka en varios archivos. Corrige [#69452](https://github.com/ClickHouse/ClickHouse/issues/69452). [#76208](https://github.com/ClickHouse/ClickHouse/pull/76208) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* `clickhouse-odbc-bridge` y `clickhouse-library-bridge` se han trasladado a un repositorio 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 eliminan unos 20 MB de código muerto del binario. [#76226](https://github.com/ClickHouse/ClickHouse/pull/76226) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se aumenta la versión mínima requerida de CMake a 3.25 debido a la introducción de `block()`. [#76316](https://github.com/ClickHouse/ClickHouse/pull/76316) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Actualizar fmt a la versión 11.1.3. [#76547](https://github.com/ClickHouse/ClickHouse/pull/76547) ([Raúl Marín](https://github.com/Algunenano)).
* Se actualiza `lz4` a `1.10.0`. [#76571](https://github.com/ClickHouse/ClickHouse/pull/76571) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Aumenta `curl` a `8.12.1`. [#76572](https://github.com/ClickHouse/ClickHouse/pull/76572) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Actualizar `libcpuid` a la versión `0.7.1`. [#76573](https://github.com/ClickHouse/ClickHouse/pull/76573) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Use un formato legible por máquina para analizar los resultados de pytest. [#76910](https://github.com/ClickHouse/ClickHouse/pull/76910) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* 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)).
* Se requiere clang 19 para compilar el proyecto. [#76945](https://github.com/ClickHouse/ClickHouse/pull/76945) ([Raúl Marín](https://github.com/Algunenano)).
* La prueba se ejecuta durante más de 10 segundos en modo secuencial. Es demasiado larga para las pruebas rápidas. [#76948](https://github.com/ClickHouse/ClickHouse/pull/76948) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se actualiza `sccache` a `0.10.0`. [#77580](https://github.com/ClickHouse/ClickHouse/pull/77580) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Respetar las características de la CPU de destino 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)).
* Actualiza `minizip-ng` a `4.0.9`. [#78917](https://github.com/ClickHouse/ClickHouse/pull/78917) ([Konstantin Bogdanov](https://github.com/thevar1able)).
