Release 0.295¶
Breaking Changes¶
Add all inline SQL invoked functions into a new plugin
presto-sql-invoked-functions-plugin
. The following functions were moved:replace_first
,trail
,key_sampling_percent
,no_values_match
,no_keys_match
,any_values_match
,any_keys_match
,all_keys_match
,map_remove_null_values
,map_top_n_values
,map_top_n_keys
,map_top_n
,map_key_exists
,map_keys_by_top_n_values
,map_normalize
,array_top_n
,remove_nulls
,array_sort_desc
,array_min_by
,array_max_by
,array_least_frequent
,array_has_duplicates
,array_duplicates
,array_frequency
,array_split_into_chunks
,array_average
,array_intersect
. See #26025 and presto-sql-helpers/README.md. #25818Upgrade Presto to require Java 17. The Presto client and Presto-on-Spark remain Java 8-compatible. Presto now requires a Java 17 VM to run both coordinator and workers. #24866
Highlights¶
Add OAuth2 support for WebUI and JDBC Presto Client. #24443
Add a new configuration property
query.max-queued-time
to specify maximum queued time for a query before killing it. This can be overridden by thequery_max_queued_time
session property. #25589Add spatial join support for native execution. #25823
Add support for mutual TLS (mTLS) authentication in the Arrow Flight connector. #25388
Add support for GEOMETRY type in the PostgreSQL connector. #25240
Add documentation about the Presto Release Process and Version Support. #25742
Add support for configuring http2 server on worker for communication between coordinator and workers. To enable, set the configuration property
http-server.http2.enabled
totrue
. #25708Add support for cross-cluster query retry. Failed queries can be automatically retried on a backup cluster by providing the retry URL and expiration time as query parameters. #25625
Details¶
General Changes¶
Fix localtime and current_time issues in legacy timestamp semantics. #25985
Fix a bug where
map(varchar, json)
does not canonicalize values. See Map Functions and Operators. #24232Fix add exchange and add local exchange optimizers to simplify query plans with unique columns. #25882
Fix failure when preparing statements or creating views that contain a quoted reserved word as a table name. #25528
Fix weak cipher mode usage during spilling by switching to a stronger algorithm. #25603
Improve
DELETE
on columns with special characters in their names. #25737Improve the protocol efficiency of the C++ worker by supporting thrift codec for connector-specific data. #25595
Improve the protocol efficiency of coordinator by supporting thrift codec for connector-specific data. #25242
Add Scale and Precision columns to SHOW COLUMNS to get the respective scale of the decimal value and precision of numerical values. A Length column is introduced to get the length of
CHAR
andVARCHAR
fields. #25351Add
Cache-Control
header with max-age to statement API responses. #25433Add
X-Presto-Retry-Query
header to identify queries that are being retried on a backup cluster. #25625Add
presto-sql-helpers
directory for inlined SQL invoked function plugins with plugin loading rules. #26025Add a new plugin
presto-native-sql-invoked-functions-plugin
that contains all inline SQL functions, except those with overridden native implementations. #25870Add
max_serializable_object_size
session property to change the maximum serializable object size at the coordinator. #25616Add all inline SQL invoked functions into a new plugin
presto-sql-invoked-functions-plugin
. The following functions were moved:replace_first
,trail
,key_sampling_percent
,no_values_match
,no_keys_match
,any_values_match
,any_keys_match
,all_keys_match
,map_remove_null_values
,map_top_n_values
,map_top_n_keys
,map_top_n
,map_key_exists
,map_keys_by_top_n_values
,map_normalize
,array_top_n
,remove_nulls
,array_sort_desc
,array_min_by
,array_max_by
,array_least_frequent
,array_has_duplicates
,array_duplicates
,array_frequency
,array_split_into_chunks
,array_average
,array_intersect
. See #26025 and presto-sql-helpers/README.md. #25818Add
array_sort(array, function)
support for key-based sorting. See Array Functions and Operators. #25851Add
array_sort_desc(array, function)
support for key-based sorting. See Array Functions and Operators. #25851Add OAuth2 support for WebUI and JDBC Presto Client. #24443
Add a new configuration property
query.max-queued-time
to specify maximum queued time for a query before killing it. This can be overridden by thequery_max_queued_time
session property. #25589Add support for BuiltInFunctionKind enum parameter in BuiltInFunctionHandle’s JSON constructor creator. #25821
Add support for configuring http2 server on worker for communication between coordinator and workers. To enable, set the configuration property
http-server.http2.enabled
totrue
. #25708Add support for cross-cluster query retry. Failed queries can be automatically retried on a backup cluster by providing the retry URL and expiration time as query parameters. #25625
Add support for using a Netty client to do HTTP communication between coordinator and worker. To enable, set the configuration property
reactor.netty-http-client-enabled
totrue
on the coordinator. #25573Add test methods
assertStartTransaction
andassertEndTransaction
to better support non-autocommit transaction testing scenarios. #25053Add a database-based session property manager. See Session Property Managers. #24995
Add support to use the MariaDB Java client with a MySQL based function server. #25698
Add support and plumbing for
DELETE
queries to identify modified partitions as outputs in the generated QueryIOMetadata. #26134Add reporting lineage details for columns which are created or inserted to the event listener. #25913
Upgrade Presto to require Java 17. The Presto client and Presto-on-Spark remain Java 8-compatible. Presto now requires a Java 17 VM to run both coordinator and workers. #24866
Update Provisio packaging to split plugin packaging into
plugins
andnative-plugin
directory. #25984Update Provisio plugin to package the memory connector plugin under the
native-plugin
directory. #26044Update to preserve table name quoting in the output of SHOW CREATE VIEW. #25528
Prestissimo (Native Execution) Changes¶
Fix an issue when processing multiple splits for the same plan node from multiple sources. #26031
Fix constant folding to handle deeply nested call statements. #26088
Fix constant folding in sidecar enabled clusters. #26125
Improve native execution of sidecar query analysis by enabling Presto built-in functions. #25135
Add the parameterized
VARCHAR
type in the list of supported types in NativeTypeManager. #26003Add session property native_index_lookup_join_max_prefetch_batches which controls the max number of input batches to prefetch to do index lookup ahead. If it is set to
0
, then process one input batch at a time. #25886Add session property native_index_lookup_join_split_output. If set to
true
, then the index join operator might split output for each input batch based on the output batch size control. Otherwise, it tries to produce a single output for each input batch. #25886Add session property native_unnest_split_output. If this is set to
true
, then the unnest operator might split output for each input batch based on the output batch size control. Otherwise, it produces a single output for each input batch. #25886Add session properties native_debug_memory_pool_name_regex and native_debug_memory_pool_warn_threshold_bytes to help debug memory pool usage patterns. 25750
Add limited use of the
CHAR(N)
type with PrestoC++. WhenCHAR(N)
is used in a query it is mapped to the VeloxVARCHAR
type. As a resultCHAR(N)
semantics are not preserved in the exectution engine. #25843Add spatial join support for native execution. #25823
Rename
native_query_trace_node_ids
tonative_query_trace_node_id
to provide a single plan node id for tracing. #25684Update coordinator behavior to validate sidecar function signatures against plugin loaded function signatures at startup. #25919
Security Changes¶
Fix the Content Security Policy (CSP) by adding
form-action 'self'
and settingimg-src 'self'
in response to CWE-693. #25910Upgrade Netty to version 4.1.126.Final to address CVE-2025-58056 and CVE-2025-58057. #26006
Upgrade commons-lang3 to 3.18.0 to address CVE-2025-48924. #25751
Upgrade jaxb-runtime to v4.0.5 in response to CVE-2020-15250. #26024
Upgrade netty dependency to address CVE-2025-55163. #25806
Upgrade reactor-netty-http dependency to address CVE-2025-22227. #25739
JDBC Driver Changes¶
Add
DECIMAL
type support to query builder. #25699
Web UI Changes¶
Fix the query id tooltip being displayed at an incorrect position. #25809
Arrow Flight Connector Changes¶
Add support for mutual TLS (mTLS) authentication. #25388
BigQuery Connector Changes¶
Fix query failures on
SELECT
operations by aligning BigQuery v1beta1 with protobuf-java 3.25.8, preventing runtime incompatibility with protobuf 4.x. #25805Add support for case-sensitive identifiers in BigQuery. To enable, set the configuration property
case-sensitive-name-matching=true
in the catalog file. #25764
Cassandra Connector Changes¶
Add support to read
TUPLE
type as a PrestoVARCHAR
. #25516
ClickHouse Connector Changes¶
Add support for case-sensitive identifiers in Clickhouse. To enable, set the configuration property
case-sensitive-name-matching=true
in the catalog file. #25863
Delta Lake Connector Changes¶
Upgrade to Hadoop 3.4.1. #24799
Hive Connector Changes¶
Fix Hive connector to ignore unsupported table formats when querying
system.jdbc.columns
to prevent errors. #25779Add session property
hive.orc_use_column_names
to toggle the accessing of columns based on the names recorded in the ORC file rather than their ordinal position in the file. #25285Upgrade to Hadoop 3.4.1. #24799
Hudi Connector Changes¶
Upgrade to Hadoop 3.4.1. #24799
Iceberg Connector Changes¶
Fix null pointer exception (NPE) error in getViews API call when a schema is not provided. #25695
Fix implementation of commit to do one operation as opposed to two. #25615
Fix Iceberg connector rename column failed if the column is used as source column of non-identity transform. #25697
Improve Iceberg’s
apply_changelog
function by migrating it from the global namespace to the connector-specific namespace. The function is now available asiceberg.system.apply_changelog()
instead ofapply_changelog()
. #25871Improve the property mechanism to enable a property to accept and process property values of multiple types. #25862
Add Iceberg bucket scalar function. #25951
Add
iceberg.engine.hive.lock-enabled
configuration to disable Hive locks. #25615Add support for specifying multiple transforms when adding a column. #25862
Upgrade Iceberg version to 1.8.1. #25999
Upgrade Nessie to version 0.95.0. #25593
Upgrade to Hadoop 3.4.1. #24799
Update to implement ConnectorMetadata::finishDeleteWithOutput(). #26134
Kudu Connector Changes¶
Update to implement ConnectorMetadata::finishDeleteWithOutput(). #26134
MongoDB Connector Changes¶
Add support for case-sensitive identifiers in MongoDB. To enable, set the configuration property
case-sensitive-name-matching=true
in the catalog file. #25853Upgrade MongoDB java driver to 3.12.14. #25436
PostgreSQL Connector Changes¶
Redis Connector Changes¶
Add changes to enable TLS support. #25373
SPI Changes¶
Add a new
getSqlInvokedFunctions
SPI in Presto, which only supports SQL invoked functions. #25597Add a new
ConnectorMetadata::finishDeleteWithOutput()
method, returningOptional<ConnectorOutputMetadata>
. This allows connectors implementingDELETE
to identify partitions modified in queries, which can be important for tracing lineage. #26134Add AuthenticatorNotApplicableException to prevent irrelevant authenticator errors from being returned to clients. #25606
Deprecate the existing
ConnectorMetadata::finishDelete()
method. By default, the newfinishDeleteWithOutput()
method delegates to the existingfinishDelete()
method, and returnsOptional.empty()
. This allows existing connectors to continue working without changes. #26134
Documentation Changes¶
Improve Deploy Presto using Homebrew. #25924
Add documentation about the Presto Release Process and Version Support. #25742
Credits¶
Abhash Jain, Adrian Carpente (Denodo), Amit Dutta, Amritanshu Darbari, Anant Aneja, Andrew Xie, Arjun Gupta, Artem Selishchev, Bryan Cutler, Christian Zentgraf, Dilli-Babu-Godari, Elbin Pallimalil, Facebook Community Bot, Feilong Liu, Gary Helmling, Ge Gao, Hazmi, HeidiHan0000, Jalpreet Singh Nanda (:imjalpreet), James Gill, Jay Narale, Jialiang Tan, Joe Abraham, Joe O’Hallaron, Karthikeyan Natarajan, Ke Wang, Ke Wang, Kevin Tang, Kewen Wang, Krishna Pai, Mahadevuni Naveen Kumar, Maria Basmanova, Mariam Almesfer, Matt Karrmann, Miguel Blanco Godón, Natasha Sehgal, Naveen Nitturu, Nidhin Varghese, Nikhil Collooru, Nishitha-Bhaskaran, PRASHANT GOLASH, Ping Liu, Pradeep Vaka, Pramod Satya, Prashant Sharma, Pratik Joseph Dabre, Raaghav Ravishankar, Rebecca Schlussel, Rebecca Whitworth, Reetika Agrawal, Richard Barnes, Sayari Mukherjee, Sergey Pershin, Shahim Sharafudeen, Shang Ma, Shijin, Shrinidhi Joshi, Steve Burnett, Sumi Mathew, Timothy Meehan, Valery Mironov, Vamsi Karnika, Vivian Hsu, Wei He, Xiaoxuan Meng, Xin Zhang, Yihong Wang, Ying, Zac Blanco, Zac Wen, abhinavmuk04, aditi-pandit, adkharat, aspegren_david, auden-woolfson, beinan, dnskr, ericyuliu, haneel-kumar, j-sund, juwentus1234, lingbin, mehradpk, mohsaka, pratik.pugalia@gmail.com, pratyakshsharma, singcha, unidevel, wangd, yangbin09