Release 483 (17 Jul 2026)#

General#

  • Add support for the PIVOT clause to turn row values into columns. (#29404)

  • Add support for reading values from a json column using the JSON simplified accessor syntax, with dotted and subscripted notation such as SELECT j.customer.name FROM orders or SELECT j.items[0].price.decimal(18,2) FROM orders. (#29565)

  • Add support for SELECT j.* over a json column to return its top-level members as a single JSON array. (#29565)

  • Add support for the OVERLAPS predicate to test whether two time periods share any instant. See Date and time functions and operators. (#29652)

  • Add support for the datetime() method in SQL/JSON path expressions. (#29603)

  • Add the title_case() function. (#2942)

  • Add the ST_Transform() and ST_TransformXY() functions for transforming geometry values between coordinate reference systems. (#29737)

  • Add support for constructing and inspecting three-dimensional points with the new three- and four-argument ST_Point() overloads and the ST_Z(), ST_Force2D(), and ST_Force3D() functions. (#29737)

  • Add the ST_GeomFromEWKT() function for parsing extended well-known text. (#29737)

  • Add the ST_PointOnSurface(), ST_MakePolygon(), ST_Multi(), ST_LineMerge(), ST_Normalize(), ST_ReducePrecision(), ST_VoronoiPolygons(), ST_MinimumBoundingCircle(), and ST_OrientedEnvelope() functions. (#29737)

  • Add the ST_Collect(), ST_MakeLine(), and ST_Polygonize() functions and the geometry_collect_agg() aggregate function for combining geometry values. (#29737)

  • Add support for tuning the HTTP connection pool used for Azure exchange spooling storage with the exchange.azure.max-connections, exchange.azure.pending-acquire-max-count, and exchange.azure.connection-acquisition-timeout configuration properties. (#30083)

  • Preserve geometry SRID and Z-coordinate metadata across serialization, format conversions, and supported geospatial operations. (#29737)

  • Improve performance of queries with a BETWEEN predicate that compares a cast expression against a range of literals, such as CAST(ts AS date) BETWEEN DATE '2020-01-01' AND DATE '2020-01-02'. (#14648)

  • Improve performance of joins whose condition contains an equality shared by every branch of an IF or CASE expression, such as IF(k IS NULL, a = b, a = b AND c = d). (#30288)

  • Reduce worker memory usage for queries that use dynamic filtering on bigint, integer, or date join keys. (#30321)

  • Fix incorrect results for NOT BETWEEN predicates that compare a cast expression against a range of literals. (#30073)

  • Fix potential incorrect results when comparing a non-deterministic expression cast to date against a date literal, such as CAST(f() AS date) = DATE '2020-01-01'. (#30286)

  • Fix incorrect results and MERGE failures for queries containing a right or full outer join. (#30278)

  • Fix query failure when a filter contains a row constructor with more than 64 fields referencing input columns. (#30279)

  • Fix query failure when spooling query results that contain rows with highly variable sizes. (#30112)

  • Fix query failure during fault-tolerant execution when processing small data pages. (#23531)

  • Fix query failure caused by an optimizer timeout when comparing a cast or a date and time function against a literal. (#30347)

  • Fix failure of SHOW SESSION and similar metadata queries when a catalog fails to load. (#30086)

  • Fix query failure when calling theta_sketch_union() with explicit nominal entries and seed arguments. (#29725)

Security#

  • Add support for restricting OAuth 2.0 single sign-on to accounts from a specific domain, configurable with the http-server.authentication.oauth2.domain-hint configuration property. (#30272)

Web UI#

  • Add support for sorting the query list by progress. (#30350)

  • ⚠️ Breaking change: Make the redesigned Web UI, previously served at /ui/preview, the default at /ui, and move the previous Web UI to /ui/legacy. The previous Web UI is deactivated by default and can be restored by setting web-ui.legacy.enabled to true. (#22697)

  • Fix query state filter checkboxes not toggling when clicking the item text in the preview UI. (#30078)

JDBC driver#

  • Prevent JDBC queries from hanging indefinitely when an error occurs while reading query results. (#30007)

CLI#

  • Add support for themed, colorized output in the CLI with the new --theme command-line option. (#6190, #30265)

Delta Lake connector#

  • Add support for configuring the S3 authentication type with the s3.auth-type configuration property. Use ANONYMOUS for reading public buckets. (#27512)

  • ⚠️ Breaking change: Require s3.auth-type=IAM_ROLE when s3.iam-role is set. (#27512)

  • ⚠️ Breaking change: Remove the s3.use-web-identity-token-credentials-provider configuration property. Use s3.auth-type=WEB_IDENTITY instead. (#27512)

  • Reduce memory usage when writing Parquet files. (#30372)

  • Prevent orphaned deletion vector files after a failed write. (#30342)

  • Prevent deletion vectors written by Trino from being rejected by other Delta Lake readers. (#30355)

Druid connector#

  • Add support for canceling Druid queries that exceed a configurable timeout, set with the druid.execution-timeout configuration property. (#27150)

  • Improve performance of queries with complex filters by pushing more expressions down to Druid. (#4109)

Hive connector#

  • Add support for configuring the S3 authentication type with the s3.auth-type configuration property. Use ANONYMOUS for reading public buckets. (#27512)

  • ⚠️ Breaking change: Require s3.auth-type=IAM_ROLE when s3.iam-role is set. (#27512)

  • ⚠️ Breaking change: Remove the s3.use-web-identity-token-credentials-provider configuration property. Use s3.auth-type=WEB_IDENTITY instead. (#27512)

  • Improve performance of reading TEXTFILE and CSV data. (#30291)

  • Reduce memory usage when writing Parquet files. (#30372)

  • Fix incorrect results for queries with a filter on char columns in ORC files. (#30187)

Hudi connector#

  • Add support for limiting the maximum size of splits when reading Hudi tables with the hudi.max-split-size configuration property. (#29842)

  • Add support for configuring the S3 authentication type with the s3.auth-type configuration property. Use ANONYMOUS for reading public buckets. (#27512)

  • ⚠️ Breaking change: Require s3.auth-type=IAM_ROLE when s3.iam-role is set. (#27512)

  • ⚠️ Breaking change: Remove the s3.use-web-identity-token-credentials-provider configuration property. Use s3.auth-type=WEB_IDENTITY instead. (#27512)

  • Improve performance of reading Hudi tables. (#29842)

Iceberg connector#

  • Add support for reading Iceberg tables with encrypted Parquet files. (#28204)

  • Add support for querying metadata tables, such as $files, $snapshots, and $partitions, for materialized views. (#30218)

  • Add support for configuring the S3 authentication type with the s3.auth-type configuration property. Use ANONYMOUS for reading public buckets. (#27512)

  • Allow using Application Default Credentials with the Iceberg REST catalog by making the gcs.json-key-file-path configuration property optional when iceberg.rest-catalog.security is set to GOOGLE. (#29084)

  • ⚠️ Breaking change: Require s3.auth-type=IAM_ROLE when s3.iam-role is set. (#27512)

  • ⚠️ Breaking change: Remove the s3.use-web-identity-token-credentials-provider configuration property. Use s3.auth-type=WEB_IDENTITY instead. (#27512)

  • Reduce memory usage when writing position delete files in Iceberg tables. (#30081)

  • Reduce memory usage when writing Parquet files. (#30372)

  • Fix incorrect results for queries with a filter on char columns in ORC files. (#30187)

  • Prevent table corruption by failing OPTIMIZE when a NOT NULL column contains NULL values. (#30062)

  • Fix potential loss of table metadata when a CREATE TABLE commit to the Hive metastore catalog fails after the table was created. (#29973)

  • Fix incorrect listing of views from unrelated schemas when using an Iceberg JDBC catalog. (#29738)

  • Fix CREATE TABLE failure when using a catalog that generates the table location, such as an Iceberg REST catalog. (#26742)

  • Fix failure when setting a column comment containing characters rejected by the Glue catalog, such as newlines. (#30353)

  • Fix query failure when using an Iceberg REST catalog with SigV4 request signing. (#30163)

Ignite connector#

  • ⚠️ Breaking change: Require the additional --add-opens=java.base/java.util=ALL-UNNAMED JVM configuration option when using the Ignite connector. (#30255)

Lakehouse connector#

  • Add support for reading Iceberg tables with encrypted Parquet files. (#28204)

  • Add support for configuring the S3 authentication type with the s3.auth-type configuration property. Use ANONYMOUS for reading public buckets. (#27512)

  • ⚠️ Breaking change: Require s3.auth-type=IAM_ROLE when s3.iam-role is set. (#27512)

  • ⚠️ Breaking change: Remove the s3.use-web-identity-token-credentials-provider configuration property. Use s3.auth-type=WEB_IDENTITY instead. (#27512)

  • Reduce memory usage when writing Parquet files. (#30372)

  • Fix incorrect results for queries with a filter on char columns in ORC files. (#30187)

SQL Server connector#

  • Fix query failure when reading a table with hidden columns using a LIMIT. (#30084)

SPI#

  • Consistently expose raw array and offset accessors on all block types. (#30128)

  • ⚠️ Breaking change: Change the block null representation to bit-packed validity bitmaps instead of boolean null arrays. Plugins that construct blocks directly instead of through the block builder API must be updated. (#30185)