Release 0.297¶
Breaking Changes¶
Add support for procedure calls in access control. For existing access controls (file-based, ranger, and sql-standard), procedure calls are restricted by default. See Hive Security Configuration for details on how to allow them. #26803
Remove implicit bundling of SQL invoked function plugins from the default Presto server Provisio build. #26926
Highlights¶
Add support for predicate stitching in MaterializedViewRewrite. #26728
Add single-table multi-statement writes transaction on snapshot isolation level. #25003
Add support for
MERGEcommand in the Iceberg connector. #25470Add support for CREATE VECTOR INDEX, which creates vector search indexes on table columns with configurable index properties and partition filtering using an
UPDATING FORclause. #27307Add Lance Connector for reading and writing LanceDB datasets. #27185
Upgrade Iceberg version to 1.10.0. #26879
Details¶
General Changes¶
Fix
DESCRIBEandSHOW COLUMNSqueries hanging inPLANNINGstate on clusters with single-node execution enabled. #27456Fix
EXPLAIN TYPE IOto support columns with temporal types. #26942Fix materialized view query optimizer by correctly resolving table references to schema-qualified names. #27059
Fix Materialized Views with
DEFINERrights to requireCREATE_VIEW_WITH_SELECT_COLUMNSon base tables. #26902Fix a bug where queries could get permanently stuck in resource groups when coordinator task-based throttling (
experimental.max-total-running-task-count-to-not-execute-new-query) is enabled. #27146Fix /v1/info/metrics endpoint to return application/json or text/plain based on the request Accept header. #26639
Improve
LIKE '%substring%'pattern matching by rewriting toSTRPOSinstead ofCARDINALITY(SPLIT(...)), improving CPU and memory efficiency. #27311Improve performance of
UNNESTby adding aPushdownThroughUnnestoptimizer rule that pushes projections and filter through the unnest when possible. This rule is controlled using thepushdown_through_unnestsession property (default enabled). #27125Improve performance for queries that apply aggregation such as
MIN,MAX,ARBITRARY, orAPPROX_DISTINCTto a constant input by replacing them with the constant directly. Controlled by thesimplify_aggregations_over_constantsession property (disabled by default). #27246Improve performance of semi-join (
IN) queries where the probe/source side is aUNIONby pushing the join through the union. Controlled by theoptimizer.push-semi-join-through-unionconfiguration property or thepush_semi_join_through_unionsession property (disabled by default). #27176Improve parallelism for small tables with few files by enabling distributed scan. #26941
Improve query performance by flattening nested
IFexpressionsIF(x, IF(y, v, E), E)toIF(x AND y, v, E)when the outer and inner else branches are identical. Handles arbitrary nesting depth and both null and non-null else branches. #27267Improve size estimates for constants. #27188
Improve performance of queries using grouping sets by pre-aggregating data before row multiplication. Enabled using session property
pre_aggregate_before_grouping_sets. #27290Improve performance of queries with redundant COALESCE expressions over join keys by simplifying them based on join type, enabling bucketed join optimizations. Controlled by the
simplify_coalesce_over_join_keyssession property (disabled by default). #27250Add DDL statements for
CREATE BRANCH. #26898Add DDL support for dropping a branch from a table. #23614
Add DDL support for dropping a tag from a table. #23614
Add HTTP support to the resource manager. See resource-manager.http-server-enabled and internal-communication.resource-manager-communication-protocol. #26635
Add OpenLineage event listener plugin for emitting query lifecycle events in the OpenLineage format. The plugin supports console and HTTP transports, configurable query type filtering, and column-level lineage tracking. See OpenLineage Event Listener for configuration details. #27249
Add
USE_STITCHINGmode formaterialized_view_stale_read_behaviorsession property to selectively recompute stale data instead of full recomputation. #26728Add
materialized_view_force_stalesession property for testing stale read behavior. #26728Add
materialized_view_staleness_windowsession property to configure acceptable staleness duration. #26728Add a new
http-server.https.keystore.scan-interval-secondsconfiguration flag to scan the keystore file periodically for new certs. #26739Add ability to disable the UI. This can be toggled with the
webui-enabledconfiguration property. #26682Add comprehensive JMX Metrics Reference for metadata operations. #26875
Add configurable freshness thresholds for materialized views using materialized_view_stale_read_behavior session property and materialized-view-stale-read-behavior configuration property. #26764
Add cost-based selection for materialized view query rewriting, choosing the lowest-cost plan when multiple views are applicable. This can be enabled with the
materialized_view_query_rewrite_cost_based_selection_enabledsession property. #27222Add materialized CTE support for single node execution. #26794
Add optimizer.remote-function-names-for-fixed-parallelism configuration property to control the number of tasks for remote project node. #27044
Add options to skip projection pushdown through exchange rule. Controlled by the
optimizer.skip-pushdown-through-exchange-for-remote-projectionconfiguration property or theskip_pushdown_through_exchange_for_remote_projectionsession property (disabled by default). #26943Add support for
America/Coyhaiquetimezone (Chile’s Aysén Region). #26981Add support for
CREATE TABLE AS SELECTandINSERTfrom materialized views. #27227Add support for CREATE VECTOR INDEX, which creates vector search indexes on table columns with configurable index properties and partition filtering using an
UPDATING FORclause. #27307Add the
materialized_viewstable to the information schema. #26688Add warning message on
CREATE TABLE AS SELECTwithIF NOT EXISTS. #27083Add SQL Support for
ADD COLUMN DEFAULT. #27353Add support for
WHEN MATCHED THEN DELETEclause inMERGE INTOstatements, completing the SQL:2011 MERGE specification. #27409Add MV data consistency support for
CTASandINSERTstatements. #27302Add DDL statements for
CREATE TAG. #27113Replace
experimental.max-total-running-task-count-to-not-execute-new-querywith max-total-running-task-count-to-not-execute-new-query. This is backwards compatible. #27146Remove implicit bundling of SQL invoked function plugins from the default Presto server Provisio build. #26926
Update timezone data to 2025b by upgrading to Joda-Time 2.14.0. #26981
Prestissimo (Native Execution) Changes¶
Add Window filter pushdown in native engine for
rankanddense_rankfunctions. Use session property optimizer.optimize_top_n_rank to enable the rewrite. #24138Add TextReader support for tables in
TEXTFILEformat. #25995Add
native_max_target_file_sizesession property to control the maximum target file size for writers. When a file exceeds this size during writing, the writer will close the current file and start writing to a new file. See Hive Session Properties. #27054Add native_aggregation_compaction_bytes_threshold and native_aggregation_compaction_unused_memory_ratio session properties to control string compaction during global aggregation. #26874
Add native_merge_join_output_batch_start_size session property to control the initial output batch size for merge joins, with optional dynamic adjustment based on observed row sizes (disabled by default). #27086
Add support for constant folding user defined functions in native clusters. #24602
Add worker uptime metric
presto_cpp.worker_runtime_uptime_secsto track worker process runtime. #26979Add http endpoint
v1/expressionsin sidecar for expression optimization. See Presto C++ Sidecar. #26475Add ssd-cache-max-entries configuration property to limit SSD cache entries and prevent unbounded metadata memory growth (default value: 10M entries, ~500MB metadata). #26795
Security Changes¶
Fix CSP by removing
img-src 'http: https:'in response to CWE-693. #26790Add a temporary configuration property
hive.restrict-procedure-callfor ranger and sql-standard access control. It defaults totrue, meaning procedure calls are restricted. To allow procedure calls, set this configuration property tofalse. #26803Add fine-grained access control for procedure calls in the file-based access control system. #26803
Add support for procedure calls in access control. #26803
Upgrade aircompressor dependency from 0.27 to version 2.0.2 to fix CVE-2025-67721. #27152
Upgrade Druid to version 35.0.1 to address CVE-2024-53990 and CVE-2025-12183. #26820
Upgrade Netty to version 4.2.12.Final to address CVE-2026-33871 and CVE-2025-67735. #27464
Upgrade Rhino to version 1.8.1 to address CVE-2025-66453. #26820
Upgrade
flattedfrom3.3.3to3.4.2in response to GHSA-rf6f-7fwh-wjgh addressing a HIGH severity prototype pollution vulnerability ( CWE-1321 ) in the parse() function. This dependency is used by the UI development tooling and does not affect production runtime. #27402Upgrade
handlebarsfrom4.7.8to4.7.9in response to multiple security advisories including GHSA-2w6w-674q-4c4q, GHSA-3mfm-83xf-c92r, GHSA-xhpv-hc6g-r9c6, GHSA-xjpj-3mr7-gcpf, GHSA-9cx6-37pm-9jff, GHSA-2qvq-rjwj-gvw9, GHSA-7rx3-28cr-v5wh, and GHSA-442j-39wm-28r2. This dependency is used by thets-jesttesting framework and does not affect production runtime. #27447Upgrade
webpackfrom5.97.1to5.104.1to address security vulnerabilities including a user information bypass in HttpUriPlugin and SSRF prevention improvements. This is a development dependency used for building the Presto UI and does not affect production runtime. #27105Upgrade ajv to 8.18.0 in response to CVE-2025-69873. #27154
Upgrade highlight version to 10.1.2 to address CVE-2020-26237. #26907
Upgrade lodash from 4.17.21 to 4.17.23 to address CVE-2025-13465. #27009
Upgrade lodash-es from 4.17.21 to 4.17.23 to address CVE-2025-13465. #27051
Upgrade lz4-java to version 1.10.2 across connectors to address CVE-2025-66566 and CVE-2025-12183. #26931
Upgrade mssql-jdbc to 13.2.1.jre11 in response to CVE-2025-59250. #26674
Upgrade node-forge from 1.3.1 to 1.4.0 in response to multiple security advisories including CVE-2026-33891 (DoS in BigInteger.modInverse), CVE-2026-33894 (RSA-PKCS signature forgery), CVE-2026-33895 (Ed25519 signature forgery), and CVE-2026-33896 (basicConstraints bypass in certificate chain verification). This dependency is used by
webpack-dev-serverfor development and does not affect production runtime. #27448Upgrade org.apache.logging.log4j:log4j-core from from 2.24.3 to 2.25.3 to address CVE-2025-68161. #26885
Upgrade webpack-dev-server from 5.2.0 to 5.2.1 to address security vulnerabilities in cross-origin request handling and WebSocket connections. The update enforces proper
Access-Control-Allow-Originheader validation for cross-origin requests and restricts WebSocket connections from IP addresses in theOriginheader unless explicitly configured usingallowedHosts. This dependency is used for local development only and does not affect production runtime. #26275Upgrade zookeeper to version 3.9.5 in response to CVE-2026-24281, CVE-2026-24308. #27319
Upgrade Jetty to 12.0.29 in response to CVE-2025-5115. #26739
Web UI Changes¶
Add support for the
MERGEstatement in the Presto SQL Client web app. #26825
Cassandra Connector Changes¶
Fix table creation to clean up stale tables on failure. #27100
Delta Lake Connector Changes¶
Add support to show the external table location of Delta tables when running the
SHOW CREATE TABLEcommand. #26986Upgrade AWS Glue Client to AWS SDK v2. #26670
Druid Connector Changes¶
Add validation for schema names in Druid connector. #26723
Hive Connector Changes¶
Add support for custom TEXTFILE SerDe parameters
textfile_field_delim,textfile_escape_delim,textfile_collection_delim, andtextfile_mapkey_delim. #27167Add support for fine-grained configuration of Hive metastore caches. #26918
Add support for
skip_header_line_countandskip_footer_line_count. See Avro Configuration Properties. #26446Upgrade AWS Glue Client to AWS SDK v2. #26670
Hudi Connector Changes¶
Upgrade AWS Glue Client to AWS SDK v2. #26670
Iceberg Connector Changes¶
Improve partition loading for Iceberg tables by making it lazy, preventing unnecessary loading. #23645
Add
INSERToperations into Iceberg V3 tables. #27021Add Iceberg metadata table
$metadata_log_entries. #24302Add
CREATE BRANCHsupport for Iceberg. #26898Add
iceberg.materialized-view-max-changed-partitionsconfig property (default: 100) to limit partition tracking for predicate stitching. #26728Add
stale_read_behaviorandstaleness_windowtable properties for materialized views. See Table Properties. #26764Add reading from Iceberg V3 tables, including partitioned tables. #27021
Add Rewrite Manifests procedure for Iceberg. #26888
Add single-table multi-statement writes transaction on snapshot isolation level. #25003
Add support for
MERGEcommand in the Iceberg connector. #25470Add support for Materialized Views in Iceberg catalog. #26958
Add support for
SMALLINTandTINYINTcolumns by mapping them to IcebergINTEGERtype. #27461Add support for configuring access control in Iceberg using the
iceberg.securityproperty in the Iceberg catalog properties file. The supported types areallow-allandfile. See Authorization. #26803Add support for creating Iceberg tables with format-version =
3. #27021Add support for dropping a branch from an Iceberg table. #23614
Add support for dropping a tag from an Iceberg table. #23614
Add support for fine-grained configuration of Hive metastore caches. #26918
Add support for mutating an Iceberg branch. #27147
Add support for tracking changed partitions in materialized views to enable predicate stitching optimization. #26728
Add support for upgrading existing V2 tables to V3 using the Iceberg API. #27021
Add SQL support for
ADD COLUMN DEFAULT. #27353Add support for calling distributed procedure in Iceberg connector. #26374
Add rewrite_data_files procedure in Iceberg connector. #26374
Add
CREATE TAGsupport for Iceberg. #27113Upgrade AWS Glue Client to AWS SDK v2. #26670
Upgrade Avro version to 1.12.0. #26879
Upgrade Iceberg version to 1.10.0. #26879
Upgrade Parquet version to 1.16.0. #26879
Lance Connector Changes¶
Fix ClassCastException when reading Float16 columns by widening to Float32. #27324
Add Lance Connector for reading and writing LanceDB datasets. #27185
Pinot Connector Changes¶
Add TLS support for self-signed certificate. #26151
Add validation for schema names in Pinot connector. #26725
Upgrade Apache Pinot to 1.4.0. #26684
SPI Changes¶
Update SPI method
Connector.beginTransactionin a backward compatible way to support passing the autocommit context into connector transactions. #25003
Documentation Changes¶
Improve documentation of plugin loaded functions by grouping them in Array Functions. #26926
Add developer documentation for Table Functions. #27367
Add documentation for Table Functions. #27333
Add documentation for Presto queries to run in Presto C++ to Presto C++ Limitations. #27120
Credits¶
Aditi Pandit, Adrian Carpente (Denodo), Ajay Kharat, Alexey Matskoff, Allen Shen, Amit Dutta, Anant Aneja, Andrii Rosa, Apurva Kumar, Artem Selishchev, Auden Woolfson, Beinan, Chandrakant Vankayalapati, Chandrashekhar Kumar Singh, Christian Zentgraf, Deepak Majeti, Deepak Mehra, Denis Krivenko, Dilli-Babu-Godari, Dong Wang, Garima Uttam, Ge Gao, Han Yan, HeidiHan0000, Henry Dikeman, Ishaan Bansal, Ivan Ponomarev, Jalpreet Singh Nanda, Jay Feldblum, Jay Narale, Jiaqi Zhang, Joe Abraham, KNagaVivek, Karthikeyan, Ke, Ke Wang, Kevin Tang, Kiersten Stokes, Kyle Wong, Li, LingBin, Linsong Wang, Lithin Purushothaman, Madhavan, Maria Basmanova, Mariam AlMesfer, Matt Karrmann, Miguel Blanco Godón, Namya Sehgal, Natasha Sehgal, Naveen Mahadevuni, Nikhil Collooru, Nivin C S, PRASHANT GOLASH, Pedro Pedreira, Ping Liu, Prabhu Shankar, Pradeep Vaka, Pramod Satya, Pratik Joseph Dabre, Pratik Pugalia, Pratyaksh Sharma, Reetika Agrawal, Rui Mo, Saurabh Mahawar, Sayari Mukherjee, Sergey Pershin, Shahim Sharafudeen, Shang Ma, Shrinidhi Joshi, Simon Eves, Sreeni Viswanadha, Steve Burnett, Swapnil, Timothy Meehan, Vrindha Ramachandran, Vyacheslav Andreykiv, Wei He, XiaoDu, Xiaoxuan, Xin Zhang, Yihong Wang, Ying, Zac, adheer-araokar, bibith4, dependabot[bot], feilong-liu, iahs, inf, jja725, jkhaliqi, lexprfuncall, maniloya, mohsaka, nishithakbhaskaran, rdtr, shelton408, sumi-mathew, tanjialiang