Release 482 (25 Jun 2026)#
General#
Add support for the
AT LOCALoperator. (#29644)Add support for named arguments in function calls using the
name => valuesyntax. (#29530)Add support for casting
charvalues to numeric,boolean,varbinary, and temporal types. (#29374)Add support for the
MATCHpredicate. (#29810)Add support for the
UNIQUEpredicate. (#29811)Add support for the
SYMMETRICandASYMMETRICkeywords in theBETWEENpredicate. (#29981)Add support for predicates such as
<,BETWEEN, andIS NULLin theWHENclauses of a simpleCASEexpression. (#29446)Add support for the
IS [NOT] TRUE,IS [NOT] FALSE, andIS [NOT] UNKNOWNpredicates. (#29998)Add support for the
like_regexpredicate in SQL/JSON path expressions. (#29592)Add the
ends_with()function. (#29847)Add support for the
OVERLAYstring function. (#30026)Add the
ROW::fieldsfunction to return the field names of arowvalue. (#29425)Add support for invoking string functions as methods on
varcharandcharvalues, such asvalue.length()andvarchar::chr(65). (#29978)Allow
INSERT,UPDATE, andMERGEto assign values toarray,map, androwcolumns containing nested character types when the value is assignable to the column type. (#29953)Allow comparing and ordering
rowandarrayvalues that contain null elements, for example inORDER BY,DISTINCT,min(),max(), and range comparisons. (#29891)⚠️ Breaking change: Remove support for Alluxio-backed exchange storage for fault-tolerant execution. (#29596)
⚠️ Breaking change: Reverse the implicit coercion between
charandvarchar: acharvalue coerces tovarcharwith its trailing spaces removed, and comparisons betweencharandvarcharfollowvarcharsemantics with no blank padding, so trailing spaces are significant. The previous behavior can be restored by setting thedeprecated.legacy-varchar-to-char-coercionconfiguration property totrue. (#29939)Disallow
OMIT QUOTESinJSON_QUERYwhen the returned type isjson. (#29587)Reduce memory usage that accumulates over time on long-running clusters that execute many queries with aggregations. (#29523, #29524)
Improve performance of queries with a
starts_with()filter by enabling predicate pushdown. (#29712)Fix incorrect results for queries on
numbercolumns containingNaNvalues. (#29497)Fix incorrect results when casting
decimalvalues with precision smaller than 19 todouble. (#29831)Fix
DISTINCTandGROUP BYtreating twoNaNvalues innumbercolumns as distinct. (#29920)Fix incorrect results for
DISTINCT,GROUP BY, and=comparisons onnumbervalues whose magnitude exceeds the supported precision. (#29962)Fix incorrect ordering, grouping, and aggregation of
rowvalues with more than 64 fields. (#30013)Fix incorrect column lineage for recursive common table expressions with column aliases. (#29304)
Fix query failure when dereferencing a field of a
nullrow value inside a lambda expression. (#29504)Fix failure when executing a SQL user-defined function that declares a variable with a structural default value such as an array. (#29533)
Fix failure when a table function returns large pass-through columns. (#29561)
Fix incorrect query progress reported through the
/v1/queryendpoint and the Web UI. (#29793)Fix query progress reported as
NaNunder fault-tolerant execution. (#29791)Fix failure when serializing custom data types provided by connectors over the spooling protocol. (#29711)
Fix
round()returningNaNfordoubleandrealvalues when rounding to a number of decimal places that causes underflow. (#29808)Fix
DESCRIBE OUTPUTreturning thenumbertype to clients that do not support it. (#29671)
Security#
Add a
User-Agentheader to JWKS requests used for JWT authentication and OAuth 2.0 token validation. (#29669)
Web UI#
JDBC driver#
Fix connection leak when retrieval of a spooled result segment fails. (#30048)
CLI#
Fix connection leak when retrieval of a spooled result segment fails. (#30048)
Cassandra connector#
Fix query failure when a predicate on a Cassandra table results in an empty
WHEREclause. (#30027)
Delta Lake connector#
Add the table location to the
$propertiesmetadata table. (#29521)Add support for limiting the number of rows in Parquet writer row groups with the
parquet.writer.block-row-countconfiguration property or theparquet_writer_block_row_countsession property. (#29673)Disallow creating tables partitioned by
varbinarycolumns. (#24155)⚠️ Breaking change: Remove support for the Alluxio file system. This does not affect support for the Alluxio file system cache. (#29596)
Improve compression and read performance for high-cardinality string columns in Parquet files. This can be disabled by setting the
parquet.writer.delta-length-byte-array-encoding-enabledconfiguration property tofalse. (#29246)Improve performance of queries that access nested fields inside lambda expressions. (#29532)
Improve performance of reads from Google Cloud Storage when using static credentials. (#29776)
Fix data loss caused by cleanup of a failed write deleting active data files when deletion vectors are enabled. (#29361)
Fix failure when accessing Azure Storage with a hierarchical namespace using vended credentials scoped to a subdirectory. (#29293)
Fix sporadic failures when reading data from S3. (#29419)
Druid connector#
Improve performance of queries involving aggregations by pushing the computation to Druid. (#29863)
Exasol connector#
Add support for the
timestamptype. (#26963)
Hive connector#
Add support for limiting the number of rows in Parquet writer row groups with the
parquet.writer.block-row-countconfiguration property or theparquet_writer_block_row_countsession property. (#29673)Add the
hive.parquet.max-split-sizeconfiguration property to control the maximum size of splits for Parquet files, whilehive.max-split-sizeapplies only to other file formats. (#29698)⚠️ Breaking change: Remove the
hive.max-initial-splitsandhive.max-initial-split-sizeconfiguration properties. (#29698)⚠️ Breaking change: Remove support for the Alluxio file system. This does not affect support for the Alluxio file system cache. (#29596)
Improve compression and read performance for high-cardinality string columns in Parquet files. This can be disabled by setting the
parquet.writer.delta-length-byte-array-encoding-enabledconfiguration property tofalse. (#29246)Improve performance of queries that access nested fields inside lambda expressions. (#29532)
Improve performance of reads from Google Cloud Storage when using static credentials. (#29776)
Improve performance when a configured Hive metastore is unavailable by backing off before retrying the connection. (#29653)
Fix sporadic failures when reading data from S3. (#29419)
Hudi connector#
⚠️ Breaking change: Remove support for the Alluxio file system. This does not affect support for the Alluxio file system cache. (#29596)
Improve performance of reads from Google Cloud Storage when using static credentials. (#29776)
Fix sporadic failures when reading data from S3. (#29419)
Iceberg connector#
Allow configuring the
data_locationtable property without enablingobject_store_layout_enabled. (#28887)Add support for limiting the number of rows in Parquet writer row groups with the
parquet.writer.block-row-countconfiguration property or theparquet_writer_block_row_countsession property. (#29673)Add support for caching Parquet file footers, configurable with the
iceberg.parquet-footer-cache.typeconfiguration property. (#29684)Add support for the
write.object-storage.partitioned-pathstable property. (#27633)Add support for prefixed path storage credentials in the Iceberg REST catalog. (#29641)
Add support for reading and writing
geometryandgeographyvalues in Iceberg v3 tables. (#27893)Add support for the
locationproperty when creating views in the REST and JDBC catalogs. (#29724)Add the
iceberg.max-split-sizeconfiguration property andmax_split_sizesession property to control the maximum size of splits. This replaces the experimentalexperimental_split_sizesession property. (#29894)Add support for the
target_max_file_sizeandparquet_writer_row_group_sizetable properties, persisted as the Iceberg-nativewrite.target-file-size-bytesandwrite.parquet.row-group-size-bytesproperties. (#28250)⚠️ Breaking change: Change the
lower_boundsandupper_boundscolumns of the$filesmetadata table frommap(integer, varchar)to typedrowvalues. Queries usinglower_bounds[1]or casting these columns tojsonmust be updated. (#23147)⚠️ Breaking change: Remove the
target_max_file_sizeandparquet_writer_row_group_sizesession properties, including the deprecatedparquet_writer_block_sizealias. Use the equivalent table properties instead. (#28250)⚠️ Breaking change: Remove support for the Alluxio file system. This does not affect support for the Alluxio file system cache. (#29596)
Improve performance of queries on the
$partitionsmetadata table. (#23147)Improve performance of queries on the
iceberg_tablessystem table that filter the table name with anINpredicate. (#29964)Improve compression and read performance for high-cardinality string columns in Parquet files. This can be disabled by setting the
parquet.writer.delta-length-byte-array-encoding-enabledconfiguration property tofalse. (#29246, #29616)Improve performance of queries that access nested fields inside lambda expressions. (#29532)
Reduce memory usage when reading tables with many equality delete files. (#29643)
Improve performance of reads from Google Cloud Storage when using static credentials. (#29776)
Increase the maximum supported size of
variantmetadata from 16MB to 128MB. (#29423)Fix loss of materialized view data when running
CREATE OR REPLACE MATERIALIZED VIEWfor a view with a fixed storage location. (#29481)Fix loss of the custom storage location of a view when running
CREATE OR REPLACE VIEWin the REST and JDBC catalogs. (#25425, #29755)Fix query failure when reading tables with delete files that reference nested fields. (#29763)
Fix failure when reading statistics for a column whose type was changed. (#29802)
Fix excessive token requests when listing nested namespaces in a REST catalog using OAuth 2.0 with
iceberg.rest-catalog.sessionset toNONE. (#29722)Fix creation of multiple delete files per data file when updating tables partitioned only with identity transforms. (#28276)
Fix failure when listing schemas in an Iceberg REST catalog and a nested namespace is dropped concurrently. (#29500)
Fix failure when listing columns or comments for tables in the Glue catalog when access to a table is denied. (#29995)
Fix failure when accessing Azure Storage with a hierarchical namespace using vended credentials scoped to a subdirectory. (#29293)
Fix sporadic failures when reading data from S3. (#29419)
Lakehouse connector#
Add support for limiting the number of rows in Parquet writer row groups with the
parquet.writer.block-row-countconfiguration property or theparquet_writer_block_row_countsession property. (#29673)Improve performance of reads from Google Cloud Storage when using static credentials. (#29776)
Fix sporadic failures when reading data from S3. (#29419)
MySQL connector#
Oracle connector#
Fix incorrect results when a
CASTfromchartovarcharis pushed down to Oracle, which previously retained the blank padding instead of trimming it. (#29939)
PostgreSQL connector#
Redis connector#
Add support for TLS connections to Redis, configurable with the
redis.tls.*configuration properties. (#8091)
SQL Server connector#
⚠️ Breaking change: Fix incorrect results when filtering a
charorvarcharcolumn with an equality orINpredicate where stored values differ only in trailing spaces. Inequality and range predicates on character columns are no longer pushed down, so aDELETEorUPDATEthat relies on pushing down such a predicate fails. (#29952, #29939)
TPC-DS connector#
Update the TPC-DS data generator to version 1.7, which changes some generated data and table statistics. (#30022)
SPI#
Add the
@StaticMethodannotation to register a scalar function as a static method of a named type, invocable viaT::method(args). (#29385)Add the
@InstanceMethodannotation to register a scalar function as a method of its receiver type, invocable viaexpr.method(args). (#29399)Add the
@Nameannotation to declare names for the arguments of functions implemented in Java. (#29530)Add support for lambda expressions in connector expression pushdown. (#29532)
Add support for an optional description on connector table functions. (#29830)
Add support for connector page sources to report memory usage through a
MemoryContextprovided by the engine. (#29843)⚠️ Breaking change: Replace the
DynamicFilterparameter ofConnectorSplitManager.getSplitswith the set of dynamic filter columns, and pass the current predicate toConnectorSplitSource.getNextBatchas aDynamicFilterSnapshot. (#29206)⚠️ Breaking change: Remove the predicate from
Constraintand add theConnectorExpressionEvaluatorinterface for evaluating expressions during partition and split pruning. (#29289)⚠️ Breaking change: Remove deprecated methods from
ConnectorPageSourceProviderandConnectorPageSinkProvider. (#29562)⚠️ Breaking change: Remove a deprecated method from
TableFunctionProcessorProvider. (#29618)