Release 0.296¶
Breaking Changes¶
Replace default Iceberg compression codec from
GZIPtoZSTD. Existing tables are unaffected, but new tables will use ZSTD compression by default ificeberg.compression-codecis not set. #26399Replace the
String serializedCommitOutputargument withOptional<Object> commitOutputin thecom.facebook.presto.spi.eventlistener.QueryInputMetadataandcom.facebook.presto.spi.eventlistener.QueryOutputMetadataconstructors. #26331
Highlights¶
Add support for Materialized Views. #26492
Add support for the MERGE command in the Presto engine. #26278
Add support for distributed execution of procedures. #26373
Add HTTP/2 support for internal cluster communication with data compression. #26439 #26381
Add support for basic insertion to Iceberg tables on C++ worker clusters. #26338
Details¶
General Changes¶
Improve sort-merge join performance when one side of the join input is already sorted. #26361
Improve query performance for semi joins (used in
INandEXISTSsubqueries) when join keys contain many null values. #26251Improve connector optimizer to support queries involving multiple connectors. #26246
Add
array_transpose()to return a transpose of an array. #26470Add cluster-tag configuration property to assign a custom identifier to the cluster, which is displayed in the Web UI. #26485
Add a session property
query_types_enabled_for_history_based_optimizationto specify query types which will use HBO. See History based optimizations (HBO). #26183Add data compression support for HTTP/2 protocol. #26381 #26382
Add max-prefixes-count configuration property to limit the number of catalog/schema/table scope prefixes generated when querying
information_schema, which can improve metadata query performance. #25550Add detailed latency and failure count metrics for the system access control plugin. #26116
Add experimental support for sorted exchanges to improve sort-merge join performance. When enabled with the
sorted_exchange_enabledsession property or theoptimizer.experimental.sorted-exchange-enabledconfiguration property, this optimization eliminates redundant sorting steps and reduces memory usage for distributed queries with sort-merge joins. This feature is disabled by default. #26403Add HTTP/2 support for internal cluster communication. #26439
Add
native_use_velox_geospatial_joinsession property to enable an optimized implementation for geospatial joins in native execution. This feature is enabled by default. #26057Add support for the MERGE command in the Presto engine. #26278
Add
enable-java-cluster-query-retryconfiguration property inrouter-scheduler.propertiesto retry queries onrouter-java-urlwhen they fail onrouter-native-url. #25720Add
array_to_map_int_keys()function. #26681Add
map_int_keys_to_array()function. #26681Add
t_cdf()andinverse_t_cdf()functions for Student’s t-distribution calculations. #26363Add support for distributed execution of procedures. #26373
Add support for Materialized Views. #26492
Update encoding of refresh token secret key from HMAC to AES. #26487
Prestissimo (Native Execution) Changes¶
Fix query errors when using mixed case column names with the Iceberg connector. #26163
Add
native_max_partial_aggregation_memorysession property to control memory limits for partial aggregation. #26389Add native_max_split_preload_per_driver session property to configure the maximum number of splits to preload per driver. #26591
Add support for basic insertion to Iceberg tables. #26338
Add support for custom schemas in native sidecar function registry. #26236
Add support for the TPC-DS connector. #24751
Add support for REST API for remote functions. #23568
Security Changes¶
Upgrade dagre-d3-es to 7.0.13 in response to CVE-2025-57347. #26422
Upgrade Netty to 4.1.128.Final to address CVE-2025-59419. #26349
Upgrade at.favre.lib:bcrypt version to 0.10.2 in response to CVE-2020-15250. #26463
Upgrade calcite-core to 1.41.0 in response to CVE-2025-48924. #26248
Upgrade io.grpc:grpc-netty-shaded from 1.70.0 to 1.75.0 to address CVE-2025-55163. #26273
Upgrade mssql-jdbc to 12.10.2.jre8 to address CVE-2025-59250. #26534
Upgrade org.apache.calcite to 1.38.0 in response to CVE-2022-36944. #26400
Upgrade zookeeper to 3.9.4 to address CVE-2025-58457. #26180.
Arrow Flight Connector Changes¶
Add support for case-sensitive identifiers in Arrow. To enable, set
case-sensitive-name-matching=true. #26176
Cassandra Connector Changes¶
Add support for case-sensitive identifiers in Cassandra. To enable, set
case-sensitive-name-matching=trueconfiguration in the catalog configuration. #25690
Delta Connector Changes¶
Fix problem reading Delta Lake tables with spaces in location or partition values. #26397
Druid Connector Changes¶
Fix Druid connector to use strict application/json content type. #26200
Add TLS support. #26027
Add support for case-sensitive identifiers in Druid. To enable, set
case-sensitive-name-matching=trueconfiguration in the catalog configuration. #26038
Elasticsearch Connector Changes¶
Add support for case-sensitive identifiers in Elasticsearch. To enable, set
case-sensitive-name-matching=truein the catalog configuration. #26352
Hive Connector Changes¶
Add support for
LZ4compression codec in ORC format. #26346Add support for
ZSTDcompression codec in Parquet format. #26346
Iceberg Connector Changes¶
Fix Bearer authentication with Nessie catalog. #26512
Fix
SHOW STATSfor Timestamp with Timezone columns. #26305Fix reading decimal partition values when using native execution. #26240
Fix handling of
TIMEcolumns in Iceberg tables. #26523Add support for
LZ4compression codec in ORC format. #26346Add support for
ZSTDcompression codec in Parquet format. #26346Add support for
engine.hive.lock-enabledproperty when creating or altering Iceberg tables. #26234Add support to access Nessie with S3 using Iceberg REST catalog. #26610
Add support for Materialized Views. #26603
Replace default Iceberg compression codec from
GZIPtoZSTD. Existing tables are unaffected, but new tables will use ZSTD compression by default ificeberg.compression-codecis not set. #26399
Kafka Connector Changes¶
Add support for case-sensitive identifiers in Kafka. To enable, set
case-sensitive-name-matching=truein the catalog configuration. #26023
Memory Connector Changes¶
Add support for Materialized Views. #26405
MongoDB Connector Changes¶
Add TLS/SSL support with automatic JKS and PEM certificate format detection. Configure using
mongodb.tls.enabled,mongodb.tls.keystore-path,mongodb.tls.keystore-password,mongodb.tls.truststore-path, andmongodb.tls.truststore-passwordproperties. #25374Upgrade MongoDB Java Driver to 3.12.14. #25374
MySQL Connector Changes¶
Fix timestamp handling when
legacy_timestampis disabled. Timestamp values are now correctly stored and retrieved as wall-clock times without timezone conversion. Previously, values were incorrectly converted using the JVM timezone, causing data corruption. #26449
Oracle Connector Changes¶
Add support for fetching table statistics from Oracle source tables. #26120
Add support for reading Oracle
BLOBcolumns asVARBINARY. #25354
Pinot Connector Changes¶
Add support for case-sensitive identifiers in Pinot. To enable, set
case-sensitive-name-matching=trueconfiguration in the catalog configuration. #26239Upgrade Pinot version to 1.3.0. #25785
PostgreSQL Connector Changes¶
Fix timestamp handling when
legacy_timestampis disabled. Timestamp values are now correctly stored and retrieved as wall-clock times without timezone conversion. Previously, values were incorrectly converted using the JVM timezone, causing data corruption. #26449
Redis Connector Changes¶
Add support for case-sensitive identifiers in Redis. To enable, set
case-sensitive-name-matching=trueconfiguration in the catalog configuration. #26078
SingleStore Connector Changes¶
Fix string type mapping to support
VARCHAR(len)where len <= 21844. #25476
SPI Changes¶
Add
getCommitOutputForRead()andgetCommitOutputForWrite()methods toConnectorCommitHandle, and deprecates the existinggetSerializedCommitOutputForRead()andgetSerializedCommitOutputForWrite()methods. #26331Add new metric
getTotalScheduledTime()to QueryStatistics SPI. This value is the sum of wall time across all threads of all tasks/stages of a query that were actually scheduled for execution. #26279Replace the
String serializedCommitOutputargument withOptional<Object> commitOutputin thecom.facebook.presto.spi.eventlistener.QueryInputMetadataandcom.facebook.presto.spi.eventlistener.QueryOutputMetadataconstructors. #26331
Credits¶
Aditi Pandit, Adrian Carpente (Denodo), Alex Austin Chettiar, Amit Dutta, Anant Aneja, Andrew X, Andrii Rosa, Artem Selishchev, Auden Woolfson, Bryan Cutler, Chris Matzenbach, Christian Zentgraf, Deepak Majeti, Denodo Research Labs, Dilli-Babu-Godari, Dong Wang, Elbin Pallimalil, Gary Helmling, Ge Gao, Han Yan, HeidiHan0000, Jalpreet Singh Nanda, James Gill, Jay Feldblum, Jiaqi Zhang, Joe Abraham, Joe O’Hallaron, Karthikeyan, Ke, Kevin Tang, Li Zhou, LingBin, Maria Basmanova, Mariam AlMesfer, Namya Sehgal, Natasha Sehgal, Nidhin Varghese, Nikhil Collooru, Nivin C S, PRASHANT GOLASH, Pedro Pedreira, Ping Liu, Pramod Satya, Prashant Sharma, Pratyaksh Sharma, Rebecca Schlussel, Reetika Agrawal, RindsSchei225e, Sayari Mukherjee, Sergey Pershin, Shahad Shamsan, Shahim Sharafudeen, Shang Ma, Shrinidhi Joshi, Sreeni Viswanadha, Steve Burnett, Tal Galili, Timothy Meehan, Weitao Wan, XiaoDu, Xiaoxuan, Xin Zhang, Yihong Wang, Yolande Yan, Zac, Zoltán Arnold Nagy, abhinavmuk04, adheer-araokar, bibith4, dependabot[bot], ericyuliu, feilong-liu, inf, jkhaliqi, maniloya, mohsaka, nishithakbhaskaran, rkurniawati, shanhao-203, singcha, sumi-mathew, tanjialiang, vhsu14