-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Add Trino 478 release notes #27089
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add Trino 478 release notes #27089
Changes from all commits
56b8440
412d267
da31f20
fb4b044
29ca14f
45a19cf
66e1911
742bf65
efe5367
4618db3
5f56d9c
9bd14ae
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| # Release 478 (22 Oct 2025) | ||
|
|
||
| ## General | ||
|
|
||
| * Include lineage information for columns used in `UNNEST` expressions. ({issue}`16946`) | ||
| * Add support for limiting which retry policies a user can select. This can be configured using | ||
| the `retry-policy.allowed` option. ({issue}`26628`) | ||
| * Add support for loading plugins from multiple directories. ({issue}`26855`) | ||
| * Allow dropping an uninitialized catalog that failed to load. ({issue}`26918`) | ||
| * Improve performance of queries with an `ORDER BY` clause using `varchar` or `varbinary` types. ({issue}`26725`) | ||
| * Improve performance of `MERGE` statements involving a `NOT MATCHED` case. ({issue}`26759`) | ||
| * Improve performance of queries involving `JOIN` when spilling is enabled. ({issue}`26076`) | ||
| * Fix potential incorrect results when reading `row` type. ({issue}`26806`) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What does "when reading row type" mean? Read from where? Or is it generally when processing values of row type? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The issue wasn’t with “reading” exactly. It was a bug with RowBlockBuilder handling when starting offset != 0, so most situations were not affected but any situation involving block builder could be affected (issue was found with duplicate rows coming through a MERGE operation) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ? |
||
| * Include catalogs that failed to load in the `metadata.catalogs` table. ({issue}`26918`) | ||
| * Fix `EXPLAIN ANALYZE` planning so that it executes with the same plan as would be used to execute the query | ||
| being analyzed. ({issue}`26938`) | ||
| * Fix row pattern matching logical navigations in running semantics to be always constraint to current match. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is too technical. What's the effect of "returning a position outside the current match"? What's the user-visible behavior? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. cc @kasiafi |
||
| Previously, a logical navigation function such as `FIRST` could return position outside the current match. | ||
| ({issue}`26981`) | ||
| * Return correct "Table does not exist" error when querying a non-existent table in an existing schema within `system` catalog. (#27045) | ||
| * Avoid logging an exception when listing columns from tables from a set of catalogs that includes the `system` catalog. (#27045) | ||
|
|
||
| ## Security | ||
|
|
||
| * Propagate `queryId` to the [Open Policy Agent](/security/opa-access-control) | ||
| authorizer. ({issue}`26851`) | ||
|
|
||
| ## Docker image | ||
|
|
||
| * Run Trino on JDK 25.0.0 (build 36). ({issue}`26693`) | ||
|
|
||
| ## Delta Lake connector | ||
|
|
||
| * Fix failure when reading `map` type with `json` value type when a value is `NULL`. ({issue}`26700`) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is still not clear to me. Does "map type" refer to Delta Lake's type? Does "json value type" refer to Trino's type? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fwiw, originally PR had this
i believe "json value type" refers to Trino's type There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about "map type"? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The map type also refers to Trino type in my understanding. The PR contains a below test: MAP(ARRAY['key1'], ARRAY[NULL])The column type is |
||
| * Deprecate the `gcs.use-access-token` configuration property. Use `gcs.auth-type` instead. ({issue}`26681`) | ||
|
|
||
| ## Google Sheets connector | ||
|
|
||
| * Fix potential query failure when the `gsheets.delegated-user-email` configuration property | ||
| is used. ({issue}`26501`) | ||
|
|
||
| ## Hive connector | ||
|
|
||
| * Add support for reading encrypted Parquet files. ({issue}`24517`, {issue}`9383`) | ||
| * Deprecate the `gcs.use-access-token` configuration property. Use `gcs.auth-type` instead. ({issue}`26681`) | ||
| * Improve performance of queries using complex predicates on `$path` column. ({issue}`27000`) | ||
| * Fix writing invalid dates and timestamps before `1582-10-15` when writing ORC data. ({issue}`26507`) | ||
|
|
||
| ## Hudi connector | ||
|
|
||
| * Deprecate the `gcs.use-access-token` configuration property. Use `gcs.auth-type` instead. ({issue}`26681`) | ||
|
|
||
| ## Iceberg connector | ||
|
|
||
| * Improve performance when writing sorted tables and `iceberg.sorted-writing.local-staging-path` | ||
| is set. ({issue}`24376`) | ||
| * Return execution metrics while running the `remove_orphan_files` command. ({issue}`26661`) | ||
| * Deprecate the `gcs.use-access-token` configuration property. Use `gcs.auth-type` instead. ({issue}`26681`) | ||
| * Collect distinct values count on all columns when replacing tables. ({issue}`26983`) | ||
| * Fix failure due to column count mismatch when executing the `add_files_from_table` | ||
| procedure. ({issue}`26774`) | ||
| * Fix failure when executing `optimize_manifests` on tables without a snapshot. ({issue}`26970`) | ||
| * Fix incorrect results when reading Avro files migrated from Hive. ({issue}`26863`) | ||
| * Fix failure when executing `SHOW CREATE SCHEMA` on a schema with unsupported properties | ||
| with REST, Glue or Nessie catalog. ({issue}`24744`) | ||
| * Fix writing invalid dates and timestamps before `1582-10-15` when writing ORC data. ({issue}`26507`) | ||
| * Fix failure when running `EXPLAIN` or `EXPLAIN ANALYZE` on `OPTIMIZE` command. ({issue}`26598`) | ||
|
|
||
| ## Kafka connector | ||
|
|
||
| * Fix failure when filtering partitions by timestamp offset. ({issue}`26787`) | ||
|
|
||
| ## SPI | ||
|
|
||
| * Remove default implementation from `Connector.shutdown()`. ({issue}`26718`) | ||
| * Remove the deprecated `ConnectorSplit.getSplitInfo` method. ({issue}`27063`) | ||
| * Deprecate `io.trino.spi.type.Type#appendTo` method. ({issue}`26922`) | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we want to quantify this with "When using dynamic catalogs" or similar?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's an "uninitialized catalog"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one that failed to load correctly
cc @kokosing @homar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then the "that failed to load" part is redundant. I would just say: