chore(deps): Update jackson version to 2.18.6#27293
Conversation
d031572 to
9dd9fac
Compare
|
Regarding : I have reverted this fix in order to ensure testcases aren't breaking in presto-iceberg. |
| createConfiguredObjectMapper(), | ||
| new TaskManagerConfig().setTaskConcurrency(4)); | ||
| } | ||
| private static ObjectMapper createConfiguredObjectMapper() |
There was a problem hiding this comment.
Missing newline. The method can be a static constructor on it's own. The returned mapper a private static final
There was a problem hiding this comment.
I have made the change and refactored to use the JsonObjectMapperUtils utility class.
| this.standaloneSpillerFactory = requireNonNull(standaloneSpillerFactory, "standaloneSpillerFactory is null"); | ||
| this.useNewNanDefinition = requireNonNull(functionsConfig, "functionsConfig is null").getUseNewNanDefinition(); | ||
| } | ||
| // Configure Jackson MixIns and settings to handle serialization issues with Jackson 2.18.6 |
| throw new UnsupportedOperationException(); | ||
| }); | ||
| } | ||
| private static ObjectMapper configureObjectMapper(ObjectMapper mapper) |
There was a problem hiding this comment.
These two methods seems identical to the ones in LocalQueryRunner ? Can you refactor out the common components to a utility class
| configureObjectMapper(new ObjectMapper()), | ||
| new SpoolingOutputBufferFactory(new FeaturesConfig())); | ||
| } | ||
| private static ObjectMapper configureObjectMapper(ObjectMapper mapper) |
| private abstract static class BlockMixIn | ||
| { | ||
| @JsonIgnore | ||
| abstract Block getLoadedBlock(); | ||
| } | ||
|
|
||
| // MixIn to ignore getOutput() method in Slice which causes circular references with BasicSliceOutput | ||
| private abstract static class SliceMixIn | ||
| { | ||
| @JsonIgnore | ||
| abstract Object getOutput(); | ||
| } | ||
|
|
||
| // MixIn to ignore getDiscreteValues() method in ValueSet which throws UnsupportedOperationException | ||
| private abstract static class ValueSetMixIn | ||
| { | ||
| @JsonIgnore | ||
| abstract Object getDiscreteValues(); | ||
| } | ||
|
|
||
| // MixIn to ignore getSingleValue() method and valuesProcessor field in SortedRangeSet | ||
| private abstract static class SortedRangeSetMixIn | ||
| { | ||
| @JsonIgnore | ||
| abstract Object getSingleValue(); | ||
|
|
||
| @JsonIgnore | ||
| abstract Object getValuesProcessor(); | ||
| } | ||
|
|
||
| // MixIn to ignore getSingleValue() method in Range which throws IllegalStateException | ||
| private abstract static class RangeMixIn | ||
| { | ||
| @JsonIgnore | ||
| abstract Object getSingleValue(); | ||
| } | ||
|
|
||
| // MixIn to ignore getSingleValue() and getNullableSingleValue() methods in Domain which throw IllegalStateException | ||
| private abstract static class DomainMixIn | ||
| { | ||
| @JsonIgnore | ||
| abstract Object getSingleValue(); | ||
|
|
||
| @JsonIgnore | ||
| abstract Object getNullableSingleValue(); | ||
| } |
There was a problem hiding this comment.
Why do we need to create individual classes here ? Could we instead create a single IgnoreFieldsMixIn and define the virtual methods with @JsonIgnore on them ?
There was a problem hiding this comment.
Consolidated into a single IgnoreProblematicMethodsMixIn class 👍🏻
Reviewer's GuideUpdates the global Jackson dependency to 2.18.6 and introduces a centralized ObjectMapper configuration utility to handle Optional support, self-reference and deep nesting issues, wiring it into key planner/execution/testing code paths and updating Nessie to a compatible version. Sequence diagram for configuring ObjectMapper in HistoryBasedPlanStatisticsManagersequenceDiagram
participant HistoryBasedPlanStatisticsManager
participant ObjectMapper_original
participant ObjectMapper_copy
participant JsonObjectMapperUtils
participant CachingPlanCanonicalInfoProvider
HistoryBasedPlanStatisticsManager->>ObjectMapper_original: copy()
ObjectMapper_original-->>HistoryBasedPlanStatisticsManager: ObjectMapper_copy
HistoryBasedPlanStatisticsManager->>ObjectMapper_copy: configure(ORDER_MAP_ENTRIES_BY_KEYS, true)
HistoryBasedPlanStatisticsManager->>ObjectMapper_copy: configure(SORT_PROPERTIES_ALPHABETICALLY, true)
HistoryBasedPlanStatisticsManager->>JsonObjectMapperUtils: configureObjectMapperForJackson2186(ObjectMapper_copy)
JsonObjectMapperUtils-->>HistoryBasedPlanStatisticsManager: configured ObjectMapper_copy
HistoryBasedPlanStatisticsManager->>CachingPlanCanonicalInfoProvider: new(historyBasedStatisticsCacheManager, ObjectMapper_copy, metadata)
CachingPlanCanonicalInfoProvider-->>HistoryBasedPlanStatisticsManager: instance ready
Class diagram for centralized Jackson 2_18_6 ObjectMapper configurationclassDiagram
class JsonObjectMapperUtils {
<<final>>
+static ObjectMapper configureObjectMapperForJackson2186(ObjectMapper objectMapper)
+static ObjectMapper createConfiguredObjectMapper()
}
class IgnoreProblematicMethodsMixIn {
<<abstract>>
+Object getLoadedBlock()
+Object getOutput()
+Object getDiscreteValues()
+Object getSingleValue()
+Object getValuesProcessor()
+Object getNullableSingleValue()
}
class LocalExecutionPlanner {
-ObjectMapper sortedMapObjectMapper
}
class HistoryBasedPlanStatisticsManager {
-ObjectMapper newObjectMapper
}
class LocalQueryRunner {
-ObjectMapper objectMapper
}
class ObjectMapper
class Block
class Slice
class ValueSet
class SortedRangeSet
class Range
class Domain
JsonObjectMapperUtils ..> ObjectMapper : configures
JsonObjectMapperUtils ..> Block : addsMixIn
JsonObjectMapperUtils ..> Slice : addsMixIn
JsonObjectMapperUtils ..> ValueSet : addsMixIn
JsonObjectMapperUtils ..> SortedRangeSet : addsMixIn
JsonObjectMapperUtils ..> Range : addsMixIn
JsonObjectMapperUtils ..> Domain : addsMixIn
JsonObjectMapperUtils *-- IgnoreProblematicMethodsMixIn : innerMixIn
IgnoreProblematicMethodsMixIn <|.. Block : appliedAsMixIn
IgnoreProblematicMethodsMixIn <|.. Slice : appliedAsMixIn
IgnoreProblematicMethodsMixIn <|.. ValueSet : appliedAsMixIn
IgnoreProblematicMethodsMixIn <|.. SortedRangeSet : appliedAsMixIn
IgnoreProblematicMethodsMixIn <|.. Range : appliedAsMixIn
IgnoreProblematicMethodsMixIn <|.. Domain : appliedAsMixIn
LocalExecutionPlanner ..> JsonObjectMapperUtils : configureObjectMapperForJackson2186
HistoryBasedPlanStatisticsManager ..> JsonObjectMapperUtils : configureObjectMapperForJackson2186
LocalQueryRunner ..> JsonObjectMapperUtils : createConfiguredObjectMapper
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The
JsonObjectMapperUtils.configureObjectMapperForJackson2186name bakes in a specific Jackson version and will age poorly; consider a version-agnostic name (e.g.,configurePlanObjectMapperor similar) so future upgrades don't require a rename or misleading method name. configureObjectMapperForJackson2186both mutates the passedObjectMapperand returns it, but callers sometimes ignore the return value; it would be clearer to either make this method purely functional (return a new mapper) or clearly side-effecting (void, with all callers using the same pattern).- In
TestIcebergSystemTablesNessieWithBearerAuth, the relaxed regex that also accepts theNessieErrorNPE will mask regressions now that Nessie is bumped to 0.105.0; consider keeping a stricter assertion and, if needed, gating transitional behavior on the dependency version instead of permanently broadening the expected failure.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The `JsonObjectMapperUtils.configureObjectMapperForJackson2186` name bakes in a specific Jackson version and will age poorly; consider a version-agnostic name (e.g., `configurePlanObjectMapper` or similar) so future upgrades don't require a rename or misleading method name.
- `configureObjectMapperForJackson2186` both mutates the passed `ObjectMapper` and returns it, but callers sometimes ignore the return value; it would be clearer to either make this method purely functional (return a new mapper) or clearly side-effecting (void, with all callers using the same pattern).
- In `TestIcebergSystemTablesNessieWithBearerAuth`, the relaxed regex that also accepts the `NessieError` NPE will mask regressions now that Nessie is bumped to 0.105.0; consider keeping a stricter assertion and, if needed, gating transitional behavior on the dependency version instead of permanently broadening the expected failure.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
a55efa9 to
d5c94f8
Compare
aaneja
left a comment
There was a problem hiding this comment.
We need to fix the underlying via jackson annotations or create use-case based Json serde classes. Let's create TODOs for these and follow up.
Approving since tests are passing with the current Ignore mix-ins
| private abstract static class IgnoreProblematicMethodsMixIn | ||
| { | ||
| // Ignore Block.getLoadedBlock() - causes circular reference | ||
| @JsonIgnore |
There was a problem hiding this comment.
For this circular reference why not add the @JsonIgnore to the Block interface directly ?
There was a problem hiding this comment.
See also - BlockJsonSerde class
There was a problem hiding this comment.
I agree that adding @JsonIgnore directly to the Block interface would be cleaner. I used the MixIn approach to fix the Jackson 2.18.6 compatibility issue without modifying multiple interface files.
We need to fix the underlying via jackson annotations or create use-case based Json serde classes. Let's >create TODOs for these and follow up.
sure, will do that
| // Ignore Range.getSingleValue() - throws IllegalStateException | ||
| // Ignore Domain.getSingleValue() - throws IllegalStateException | ||
| @JsonIgnore | ||
| abstract Object getSingleValue(); |
There was a problem hiding this comment.
For these - can you reply with the actual IllegalStateException text ?
There was a problem hiding this comment.
Domain.getSingleValue() (Domain.java):
throw new IllegalStateException("Domain is not a single value");
Range.getSingleValue() (Range.java):
throw new IllegalStateException("Range does not have just a single value");
SortedRangeSet.getSingleValue() (SortedRangeSet.java):
throw new IllegalStateException("SortedRangeSet does not have just a single value");
There was a problem hiding this comment.
These are just the default method implementations that Jackson is now calling. Makes sense to JsonIgnore them 👍
|
@imsayari404 imported this issue as lakehouse/presto #27293 |
|
@imsayari404 I can see owasp ci check is failing.I have retriggered it.If its fails again, can you rebase the branch with master. |
|
Assigning this issue to @faizdani because you are the default assignee for issue follow-up scheme |
|
@faizdani |
|
@imjalpreet / @aaneja / @nishithakbhaskaran, could you please review when you get a chance? |
|
Assigning this issue to @faizdani because you are the default assignee for issue follow-up scheme |
|
@faizdani |
| .maxNestingDepth(2000) | ||
| .build()); | ||
|
|
||
| // Added MixIn for Slice circular reference, it's an external library |
There was a problem hiding this comment.
With prestodb/slice#4 this become redundant right ?
There was a problem hiding this comment.
Yes, exactly once prestodb/slice#4 is merged and released, this MixIn becomes redundant
nishithakbhaskaran
left a comment
There was a problem hiding this comment.
Appreciate the effort @imsayari404 !!
Thanks for the upgrade
|
Assigning this issue to @faizdani because you are the default assignee for issue follow-up scheme |
|
@faizdani |
1ad9fa4
d06cc17 to
6e903f3
Compare
|
Assigning this issue to @faizdani-ibm because you are the default assignee for issue follow-up scheme |
|
@faizdani-ibm |
|
Work in progress: currently validating whether migrating Presto from |
|
Update: After discussion with Tim, we've agreed on this approach: Short-term (this PR): Keeping the Jackson 2.18.6 upgrade with @JsonIgnore annotations Long-term (follow-up PR): Migrate from io.airlift:slice:0.38 to com.facebook:slice:0.38-SNAPSHOT . This affects 1,023 Java files and 78 pom.xml files and requires extensive testing. I'll create a separate PR for this work as well as create a task. |
- feat(json): Add @JsonIgnore annotations to improve serialization control
## Description Upgrades `dep.jackson.version` from `2.15.4` to `2.18.6` to remediate GHSA-72hv-8253-57qq. ## Test Failures Fixed The upgrade exposed pre-existing issues in Presto's ObjectMapper usage that 2.15.4 happened to tolerate. Each fix below is a direct response to an actual CI failure with a concrete stack trace. ### Failure 1 — TestPrestoSparkStatsCalculator ``` com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 optional type java.util.Optional<SourceLocation> not supported by default: add Module "jackson-datatype-jdk8" at CachingPlanCanonicalInfoProvider.loadValue() ``` and ``` [ERROR] TestPrestoSparkStatsCalculator.testUsesHboStatsWhenMatchRuntime:123 » Presto Cannot serialize plan to JSON ``` failed testcase : `presto-spark-base/src/test/java/com/facebook/presto/spark/planner/TestPrestoSparkStatsCalculator.java` **Root cause:** The ObjectMapper used in HistoryBasedPlanStatisticsManager (created via objectMapper.copy()) lacked Jdk8Module registration, leaving CachingPlanCanonicalInfoProvider unable to serialize Optional<SourceLocation> fields. `HistoryBasedPlanStatisticsManager` has a single commit since creation, meaning `Jdk8Module` was never explicitly registered. **Fix:** `.registerModule(new Jdk8Module())` after `objectMapper.copy()` --- ### Failure 2 — TestDriver ``` java.util.NoSuchElementException: No value present at java.util.Optional.get(Optional.java:143) at TestDriver.<clinit>(TestDriver.java:126) ``` **Root cause:** `TestDriver` passes a bare `new ObjectMapper()` directly to `createFragmentResultCacheContext()`, bypassing `HistoryBasedPlanStatisticsManager` entirely. Without `Jdk8Module`, serialization fails silently,`createFragmentResultCacheContext()` returns `Optional.empty()`, and `.get()`in the static initializer throws `NoSuchElementException` preventing the entire test class from loading. **Fix:** `registerModule(new Jdk8Module())` + `FAIL_ON_SELF_REFERENCES=false` + `maxNestingDepth(2000)` + `BlockMixIn` on the bare `ObjectMapper` --- ### Failure 3 — LocalQueryRunner / LocalExecutionPlanner ``` com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) at Block.getLoadedBlock() ``` **Root cause:** `Block.getLoadedBlock()` returns `Block` itself a circularreference. Confirmed in source: presto-common/.../block/Block.java:378 ```default Block getLoadedBlock()``` ← returns this Additionally `ValueSet.getDiscreteValues()` throws `UnsupportedOperationException` and `Range.getSingleValue()` throws `IllegalStateException` when serialized: ```presto-common/.../predicate/ValueSet.java:114``` ```throw new UnsupportedOperationException();``` and ```presto-common/.../predicate/Range.java:166``` ```throw new IllegalStateException("Range does not have just a single value");``` Jackson 2.18.6's stricter error handling exposes these pre-existing issues when attempting to serialize getter methods that throw exceptions or create circular references. **Fix:** `FAIL_ON_SELF_REFERENCES=false` + `@JsonIgnore` MixIns on`Block`, `Slice`, `ValueSet`, `SortedRangeSet`, `Range`, `Domain` + `maxNestingDepth(2000)` for complex Presto plan structures --- ### Failure 4 — TaskTestUtils / TestSqlTaskManager ``` com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) ``` **Root cause:** Same `Block.getLoadedBlock()` circular reference. Both files pass bare `new ObjectMapper()` to `SqlTaskManager`. **Fix:** `configureObjectMapper()` helper with `BlockMixIn` +`FAIL_ON_SELF_REFERENCES=false` + `maxNestingDepth(2000)` --- ### Failure 5 — TestIcebergSystemTablesNessieWithBearerAuth ``` java.lang.NullPointerException: Cannot invoke "NessieError.getErrorCode()" because "error" is null ``` **Root cause:** Nessie client 0.103.0 is incompatible with Jackson 2.18.6 , HTTP error responses fail to deserialize, returning `null` instead of a proper `NessieError` object. **Fix:** Bump Nessie `0.103.0 → 0.105.0` which adds Jackson 2.18.6compatibility. Test updated to accept both error patterns during the transition window. --- ## Motivation and Context <!---Why is this change required? What problem does it solve?--> <!---If it fixes an open issue, please link to the issue here.--> ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] Please make sure your submission complies with our [contributing guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md), in particular [code style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style) and [commit standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] If adding new dependencies, verified they have an [OpenSSF Scorecard](https://securityscorecards.dev/#the-checks) score of 5.0 or higher (or obtained explicit TSC approval for lower scores). ## Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == RELEASE NOTES == Security Changes * Upgrade jackson dependency from 2.15.4 to version 2.18.6 to address `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_ ``` ## Summary by Sourcery Upgrade Jackson to 2.18.6 and adjust Presto’s JSON serialization configuration and related dependencies to remain compatible with the stricter behavior. Bug Fixes: - Prevent serialization failures for Optional and complex Presto structures by configuring ObjectMapper instances with JDK8 support, relaxed self-reference handling, and MixIns to ignore problematic getters. - Update Nessie client usage and tests so Iceberg Nessie system table auth failures are handled correctly under the new Jackson version. Enhancements: - Introduce a shared JsonObjectMapperUtils helper to centralize Jackson 2.18.6-compatible ObjectMapper configuration and reuse it across planners, query runners, and task-related tests. Build: - Bump Jackson dependency to 2.18.6 and add the jackson-datatype-jdk8 module dependency. - Update the Nessie client dependency in the Iceberg module to a version compatible with Jackson 2.18.6. Tests: - Adjust Iceberg Nessie bearer-auth test expectations to allow both legacy and new error patterns after the Jackson and Nessie upgrades and update test helpers to use the shared configured ObjectMapper.
# Missing Release Notes ## Apurva Kumar - [x] https://github.com/prestodb/presto/pull/27616 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (Merged by: Han Yan) - [x] https://github.com/prestodb/presto/pull/27614 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (Merged by: Dong Wang) - [x] https://github.com/prestodb/presto/pull/27421 feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (Merged by: Kevin Tang) ## Arjun Gupta - [x] https://github.com/prestodb/presto/pull/27642 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Merged by: Arjun Gupta) ## Chandrakant Vankayalapati - [x] https://github.com/prestodb/presto/pull/27706 fix(analyzer): Skip unmapped derived columns in MV partition filtering (Merged by: Chandrakant Vankayalapati) ## Deepak Mehra - [x] https://github.com/prestodb/presto/pull/25107 feat(connector): Add Azure Blob Storage and ADLS Gen2 support (Merged by: Jalpreet Singh Nanda) ## Dilli Babu Godari - [x] https://github.com/prestodb/presto/pull/26260 feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27671 feat: Add TLS/SSL configuration support for Oracle connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27670 feat: Add Oracle i18n character set support (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27669 feat: Add configurable JDBC fetch size support (Merged by: Dilli Babu Godari) ## Gary Helmling - [x] https://github.com/prestodb/presto/pull/27703 feat: Support extending verifier QueryRewriter (#27703) (Merged by: Jianjian Xie) ## Henry Dikeman - [x] https://github.com/prestodb/presto/pull/27683 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (Merged by: Henry Dikeman) - [x] https://github.com/prestodb/presto/pull/27525 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (Merged by: Aditi Pandit) ## Kevin Tang - [x] https://github.com/prestodb/presto/pull/27697 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (Merged by: Kevin Tang) - [x] https://github.com/prestodb/presto/pull/27696 misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (Merged by: Kevin Tang) ## Nivin C S - [x] https://github.com/prestodb/presto/pull/27828 fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (Merged by: Jalpreet Singh Nanda) - [x] https://github.com/prestodb/presto/pull/25418 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (Merged by: Nivin C S) ## Rebecca Schlussel - [x] https://github.com/prestodb/presto/pull/27830 chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (Merged by: Rebecca Schlussel) ## Shrinidhi Joshi - [x] https://github.com/prestodb/presto/pull/27873 refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (Merged by: Xiaoxuan) - [x] https://github.com/prestodb/presto/pull/27833 fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (Merged by: Shrinidhi Joshi) ## Sreeni Viswanadha - [x] https://github.com/prestodb/presto/pull/27708 feat(optimizer): Add per-column predicates for ROW IN/NOT IN (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27712 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27680 perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (Merged by: feilong-liu) - [x] https://github.com/prestodb/presto/pull/27641 feat(optimizer): Add TopN late materialization using $row_id (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27664 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (Merged by: Sreeni Viswanadha) ## feilong-liu - [x] https://github.com/prestodb/presto/pull/27773 fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (Merged by: feilong-liu) ## join-theory-de - [x] https://github.com/prestodb/presto/pull/27480 feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (Merged by: Sreeni Viswanadha) ## peterenescu - [x] https://github.com/prestodb/presto/pull/27600 fix: Integer overflow in range filter boundary conversion (#27600) (Merged by: Amit Dutta) ## shelton408 - [x] https://github.com/prestodb/presto/pull/27673 fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (Merged by: shelton408) ## sumi-mathew - [x] https://github.com/prestodb/presto/pull/27865 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (Merged by: nishithakbhaskaran) ## zhichenxu-meta - [x] https://github.com/prestodb/presto/pull/27603 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (Merged by: feilong-liu) # Extracted Release Notes - #25424 (Author: Shahim Sharafudeen): fix(security): Upgrade gcs version to 2.2.28 - Upgrade google-oauth-client version to 1.34.1 to address `CVE-2020-7692 <https://github.com/advisories/GHSA-f263-c949-w85g>`_ and `CVE-2021-22573 <https://github.com/advisories/GHSA-hw42-3568-wj87>`_. - #26195 (Author: Gary Helmling): fix: Allow DELETE queries to run on Presto on Spark - Fix a gap in query commit for DELETE queries when running on Spark. - #26369 (Author: Bryan Cutler): feat: Adding Apache Arrow FlightShim for connector federation in C++ workers - Adding presto-flight-shim server module for connector federation. - #26833 (Author: Yabin Ma): chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true - Update the default behavior of ``field_names_in_json_cast_enabled`` from false to true. When ``field_names_in_json_cast_enabled = true``, JSON fields are assigned to ROW fields by matching field names regardless of their order in the JSON object. Queries that rely on JSON field order when casting to ROW may return different results after upgrading. If your workload depends on the previous positional behavior, restore it by setting: ``SET SESSION field_names_in_json_cast_enabled = false;``. - #26959 (Author: Timothy Meehan): feat(optimizer): Support incremental refresh of materialized views - Add incremental refresh for materialized views. - Add incremental refresh for materialized views in the Iceberg connector. - #26995 (Author: Auden Woolfson): fix: Allow view querying with Mongo connector - Add view querying capabilities in the Mongo connector. - #27002 (Author: Sayari Mukherjee): feat(client): Add connection validation feature to enhance connection reliability - Add connection validation feature to enhance connection reliability. This can be enabled with the ``validateConnection`` connection property to execute a validation query immediately after establishing the connection. - #27085 (Author: Dong Wang): feat(plugin-iceberg): Push down min/max/count based on file stats - Add support for ``min/max/count`` aggregation push down based on file stats. This can be toggled with the ``aggregate_push_down_enabled`` session property or the ``iceberg.aggregate-push-down-enabled`` configuration property. - #27129 (Author: Miguel Blanco Godón): fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent - Fix a bug that made the metastore inconsistent if created a Delta Lake table to an inaccessible location. - #27200 (Author: Pratyaksh Sharma): revert: Add metastore cache invalidation in iceberg - Add metastore cache invalidation procedure for Iceberg connector. - #27240 (Author: Joe Abraham): feat: Add read support for row lineage columns in Iceberg connector - Add read support for Iceberg V3 row lineage hidden columns `_row_id` and `_last_updated_sequence_number`. - #27282 (Author: Pratyaksh Sharma): feat(connector): Add support for `execute` procedure in JDBC connectors - Add support for `execute` procedure in JDBC connectors. - #27293 (Author: Sayari Mukherjee): chore(deps): Update jackson version to 2.18.6 - Upgrade jackson dependency from 2.15.4 to version 2.18.6 to address `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27294 (Author: Shahim Sharafudeen): chore(deps): Bump jetty from 12.0.29 to 12.0.34 - Upgrade jetty dependency from 0.27 to version 2.0.2 to address `CVE-2025-11143 <https://github.com/advisories/GHSA-wjpw-4j6x-6rwh>` and `CVE-2026-1605 <https://github.com/advisories/GHSA-xxh7-fcf3-rj7f>`_. - #27325 (Author: Jianjian Xie): feat(connector): Add caching for Lance connector - Add configurable index and metadata cache sizes via lance.index-cache-size and lance.metadata-cache-size. - Add version-aware dataset caching with snapshot isolation for consistent query reads. - #27357 (Author: Prashant Sharma): feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values - Add low and high values for varchar/char columns of Iceberg tables. - #27422 (Author: Chandrakant Vankayalapati): feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) - Add support for ``GROUP BY`` and ``ORDER BY`` ordinal references in materialized view query rewriting. Previously, queries like ``SELECT a, SUM(b) FROM t GROUP BY 1`` would silently skip materialized view optimization. - #27430 (Author: Jianjian Xie): feat(connector): Add filter pushdown for Lance connector - Add SQL filter pushdown to reduce data read from disk for selective queries. Supports equality, comparisons, IN lists, IS NULL, and range predicates on Boolean, Integer, Bigint, Real, Double, Varchar, Date, and Timestamp types. - #27483 (Author: Miguel Blanco Godón): feat(plugin-delta): Support reading tables with column mapping enabled - Add support for reading Delta Lake tables with column mapping enabled. - #27486 (Author: Jamille Shao-Ni): feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints - Add support for Thrift serialization (`application/x-thrift-binary`, `application/x-thrift-compact`, `application/x-thrift-fb-compact`) to all TaskResource endpoints for consistent internal communication protocol. - Improve efficiency of coordinator-to-worker communication with 20-40% smaller payload sizes and 2-3x faster serialization compared to JSON. - #27491 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) - Optimize `map_from_entries(ARRAY[ROW(...), ...])` by rewriting to `MAP(ARRAY[keys], ARRAY[values])` at plan time, avoiding intermediate ROW construction. - #27493 (Author: Sreeni Viswanadha): fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch - Fix runtime type mismatch crashes in Velox native execution caused by non-deterministic HashMap iteration order in PreAggregateBeforeGroupId, PushPartialAggregationThroughExchange, and MultipleDistinctAggregationToMarkDistinct optimizer rules. Replace HashMap with LinkedHashMap to preserve aggregation output variable ordering. - #27496 (Author: dependabot[bot]): chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash-es from 4.17.23 to 4.18.1 to address `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27497 (Author: dependabot[bot]): chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash from 4.17.23 to 4.18.1 to address multiple security vulnerabilities: - `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27500 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning - Add optimizer rule RewriteRowConstructorInToDisjunction that rewrites ROW IN ROW predicates into OR of AND equality chains when all ROW fields are partition keys, enabling per-column TupleDomain extraction for partition pruning. Gated behind session property rewrite_row_constructor_in_to_disjunction (default disabled). - #27504 (Author: Kevin Tang): feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis - Add session property :ref:`admin/properties-session:\`\`always_analyze_create_table_query_enabled\`\`` to enable analyzing inner queries on ``CREATE TABLE AS SELECT IF NOT EXISTS`` statements when the target table already exists. - #27510 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite bucketed semi-join to join - Add optimizer rule RewriteBucketedSemiJoinToJoin that rewrites semi-joins into left joins with distinct aggregation when both sides are bucketed on the join key, avoiding data shuffle. Gated behind session property rewrite_bucketed_semi_join_to_join (default disabled). - #27538 (Author: Chandrakant Vankayalapati): feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) - Fix materialized view query rewriting for ``CUBE``, ``ROLLUP``, and ``GROUPING SETS`` clauses. Column references inside these grouping elements are now correctly rewritten to materialized view columns. - #27547 (Author: feilong-liu): perf(planner): Optimize query planning for wide-column projections - Improve query planning performance for wide-column projections by adding fast paths that skip unnecessary processing for variable references, constants, and identity assignments across multiple optimizer rules. - #27549 (Author: Chandrakant Vankayalapati): feat(planner): Support scalar functions in MV query rewriting (#27549) - Add support for scalar functions in materialized view query rewriting. Queries using functions like ``CONCAT``, ``ABS``, ``JSON_EXTRACT``, ``CAST``, ``IF``, ``COALESCE``, and ``CASE`` expressions now correctly rewrite to scan the materialized view. - #27553 (Author: feilong-liu): perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup - Improve logical planner performance for wide-column queries by indexing RelationType.resolveFields() for O(1) field lookup instead of O(N) linear scan. - #27568 (Author: Sreeni Viswanadha): fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin - Fix a bug in PushProjectionThroughCrossJoin optimizer rule where cascading projections above a cross join could cause validation errors by dropping pushed variables from intermediate residual projects. - #27574 (Author: dependabot[bot]): chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 - Upgrade org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 inorder to address `CVE-2026-35554 <https://github.com/advisories/GHSA-5qcv-4rpc-jp93>`_. - #27583 (Author: Nandakumar Balagopal): chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 - Upgrade org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 inorder to address `CVE-2026-34480 <https://nvd.nist.gov/vuln/detail/CVE-2026-34480>`_. - #27597 (Author: Swapnil): fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak - Fix race condition in pruneFinishedQueryInfo causing task memory leak. - #27598 (Author: Sreeni Viswanadha): feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns - Add new session property `join_prefilter_build_side_with_complex_probe_side` (default false) to extend join prefilter optimization to support complex probe-side patterns including UNION ALL, cross join, unnest, and aggregation. - #27606 (Author: dependabot[bot]): chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests - Upgrade org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 to resolve `CVE-2026-0636 <https://nvd.nist.gov/vuln/detail/CVE-2026-0636>`_. - #27613 (Author: Shahim Sharafudeen): fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 - Upgrade async-http-client to version 3.0.9 to address `CVE-2026-40490 <https://github.com/advisories/GHSA-cmxv-58fp-fm3g>`_. - #27639 (Author: Chandrakant Vankayalapati): feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) - Add optional authorizedPrincipal to AuthorizedIdentity to support gateway identity propagation, allowing the session principal to reflect the original client instead of the gateway. - #27645 (Author: Nivin C S): fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) - Fix failure during INSERT into Iceberg tables partitioned by day() when using timestamp with time zone columns. - #27659 (Author: Reetika Agrawal): feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read - Add changes for passing iceberg V3 initialDefaultValue while read. - #27663 (Author: feilong-liu): feat: Add partition-aware grouped execution for bucketed tables - Add `partition_aware_grouped_execution` session property to schedule each (bucket, partition) as a separate lifespan in grouped execution, reducing per-lifespan data volumes for bucketed tables. Disabled by default. - Add support for partition-aware grouped execution in the Hive connector, creating per-(bucket, partition) split queues and compound partition handles. - #27677 (Author: Timothy Meehan): feat(analyzer): Allow HAVING in materialized view query rewrite - Allow HAVING in queries that are transparently rewritten onto a materialized view. - #27678 (Author: Sreeni Viswanadha): perf(optimizer): Clean up prefilter distinct limit - Improve PrefilterForLimitingAggregation optimizer to exclude partition keys from the DistinctLimit, improving convergence speed for GROUP BY + LIMIT queries on partitioned tables. - Add N <= 1000 limit guard to PrefilterForLimitingAggregation to restrict the optimization to small limits. - #27685 (Author: Glerin Pinhero): chore(deps): Upgrading mongodb driver to mongodb driver sync - Upgrade mongo-java-driver to mongodb-driver-sync. - #27691 (Author: Sergey Pershin): fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) - Fix 'planningTime' and 'finishingTime' are no longer added to the 'executionTime'. 'executionTime' is now a true execution time - how long it took the query to run the compute. It can be used to measure the efficiency of the workers w/o added planning time or the time spent on final steps, like partition registration. - #27700 (Author: feilong-liu): feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size - Add ``rpc_streaming_mode`` session property to control RPC function execution mode (``PER_ROW`` or ``BATCH``). Default: ``PER_ROW``. - Add ``rpc_dispatch_batch_size`` session property to control batch size for RPC dispatch in ``BATCH`` mode. Default: ``128``. A value of ``0`` collects all rows before dispatching. - Fix RPC options argument parsing to use the last argument instead of hardcoding index 3. - #27714 (Author: feilong-liu): fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path - Fix UnsupportedOperationException when using `remote_function_names_for_fixed_parallelism` with queries containing UNION ALL below the remote function projection. - #27715 (Author: nishithakbhaskaran): chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 - Upgrade http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve `CVE-2025-32996 <https://nvd.nist.gov/vuln/detail/CVE-2025-32996>`_. - #27722 (Author: dependabot[bot]): chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 - Upgrade org.postgresql:postgresql from 42.7.9 to 42.7.11 to resolve `CVE-2026-42198 <https://nvd.nist.gov/vuln/detail/CVE-2026-42198>`_. - #27728 (Author: Timothy Meehan): fix(plugin-iceberg): Do not check access control for MV data table - Fix access control for materialized view storage tables when ``legacy_materialized_views=false``: storage-table access control is bypassed during MV expansion, while direct queries by name still go through access control. - Add ``iceberg.materialized-view-default-storage-schema`` config to route storage tables into a single schema. Defaults to the materialized view's own schema; per-MV ``storage_schema`` overrides. - #27748 (Author: Pratik Joseph Dabre): feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin - Add support for adding plugin loaded types in sidecar plugin. - #27764 (Author: Sreeni Viswanadha): feat(optimizer): Push aggregation through UNION ALL with disjoint group keys - Add ``push_aggregation_through_disjoint_union`` session property (default off) that pushes a ``GROUP BY`` aggregation completely below ``UNION ALL`` when at least one grouping key has constant values that are pairwise distinct across the union branches, eliminating the final aggregation. - #27765 (Author: Sreeni Viswanadha): fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput - Improve ``SimplifyPlanWithEmptyInput`` to prune empty subtrees that the connector PHYSICAL stage produces under local exchanges. Multi-source exchanges with mixed empty / non-empty children now drop the empty branches, eliminating idle no-op operators at runtime for wide ``UNION ALL`` queries where some branches are pruned to empty by partition / snapshot filtering. Single-source exchanges and write-side subtrees (``TableWriter`` / ``TableFinish``) are preserved. - #27766 (Author: Timothy Meehan): feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates - Add predicate push down on ``_last_updated_sequence_number`` for file-level pruning. - #27767 (Author: Reetika Agrawal): feat(native): Iceberg V3 initialDefaultValue - Add support for iceberg V3 initialDefaultValue. - #27769 (Author: Shahim Sharafudeen): fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 - Upgrade Netty to 4.2.13.Final in response to `CVE-2026-41417 <https://github.com/advisories/GHSA-fghv-69vj-qj49>` , `CVE-2026-44248 <https://github.com/advisories/GHSA-jfg9-48mv-9qgx>` , `CVE-2026-42577 <https://github.com/advisories/GHSA-rwm7-x88c-3g2p>` , `CVE-2026-42578 <https://github.com/advisories/GHSA-45q3-82m4-75jr>` , `CVE-2026-42579 <https://github.com/advisories/GHSA-cm33-6792-r9fm>` , `CVE-2026-42580 <https://github.com/advisories/GHSA-m4cv-j2px-7723>`, `CVE-2026-42581 <https://github.com/advisories/GHSA-xxqh-mfjm-7mv9>` , `CVE-2026-42582 <https://github.com/advisories/GHSA-2c5c-chwr-9hqw>` , `CVE-2026-42583 <https://github.com/advisories/GHSA-mj4r-2hfc-f8p6>` , `CVE-2026-42584 <https://github.com/advisories/GHSA-57rv-r2g8-2cj3>` , `CVE-2026-42585 <https://github.com/advisories/GHSA-38f8-5428-x5cv>` , `CVE-2026-42586 <https://github.com/advisories/GHSA-rgrr-p7gp-5xj7>` and `CVE-2026-42587 <https://github.com/advisories/GHSA-f6hv-jmp6-3vwv>`_. - #27774 (Author: Timothy Meehan): feat(plugin-iceberg): Bound MV refresh - Add ``max_snapshots_per_refresh`` materialized view property to bound how far each base table advances per ``REFRESH MATERIALIZED VIEW``. Defaults to ``0`` (unbounded). Requires Iceberg V3 row lineage; V2 tables fall back to unbounded refresh. - Add ``iceberg.materialized-view-default-max-snapshots-per-refresh`` config property and matching session property to set the default bound. - #27777 (Author: sumi-mathew): fix(security): Upgrade libthrift to address CVE-2026-41604 - Upgrade libthrift 0.23.0 in response to `CVE-2026-41604 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-41604>`_. - #27778 (Author: Chandrakant Vankayalapati): fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY - Fix data correctness bugs in ``MaterializedViewQueryOptimizer`` where queries without ``GROUP BY`` could be incorrectly rewritten to use materialized views with ``GROUP BY``, producing fewer rows than expected. Alias mismatches and scalar expression bypasses allowed invalid rewrites that silently collapsed duplicate rows. - #27790 (Author: Chandrakant Vankayalapati): fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 - Fix TINYINT type mapping to preserve TINYINT semantics instead of incorrectly mapping to BOOLEAN after JDBC driver upgrade. - Fix varchar type mapping for TEXT types to use byte-based thresholds matching the JDBC driver's COLUMN_SIZE reporting. - #27797 (Author: Ben Hu): chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 - Update Google BigQuery Storage API SDK from v1beta1 to v1. - #27803 (Author: Sayari Mukherjee): chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector - Upgrade parquet-jackson to 1.17.1 in response to `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27806 (Author: Timothy Meehan): feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` - Add ``ALTER MATERIALIZED VIEW <name> SET PROPERTIES (...)`` SQL statement to update materialized view properties after creation. :pr:`27806`. - Allow updating ``stale_read_behavior``, ``staleness_window``, and ``refresh_type`` on existing materialized views via ``ALTER MATERIALIZED VIEW ... SET PROPERTIES`` (requires ``legacy_materialized_views=false``). :pr:`27806`. - #27810 (Author: Reetika Agrawal): feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default - Add support for `ALTER TABLE ... ALTER COLUMN ... SET DEFAULT` syntax to update Iceberg column write-default values. - Add support for updating column write-default values using `ALTER TABLE ... SET DEFAULT` (requires Iceberg format version 3+). - Update write-default operations to preserve existing initial-default values as metadata-only changes. - #27816 (Author: Timothy Meehan): fix(plugin-iceberg): Add warnings for stitching and refresh fallback - Add warning when predicate stitching or incremental refresh falls back to full recompute. - #27819 (Author: Sreeni Viswanadha): feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance - Improve PrefilterForLimitingAggregation to use scan limiting instead of timeouts for more predictable performance. The optimization now limits the source scan to 1000 * LIMIT rows before applying DISTINCT LIMIT. - #27820 (Author: Timothy Meehan): feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based - Add `materialized_view_stitching_strategy` and `materialized_view_incremental_refresh_strategy` session properties (values: `ALWAYS`, `NEVER`, `AUTOMATIC`; default: `ALWAYS`). Under `AUTOMATIC`, the optimizer selects between the rewrite and the full alternative based on cost; when stats are unavailable it falls back to row-count comparison. - #27829 (Author: Rebecca Schlussel): chore: Remove old NaN definition and mark config as defunct - Remove configuration property `use-new-nan-definition`. - #27835 (Author: Timothy Meehan): fix(plugin-iceberg): Fix duplicate view creation in Hive catalog - Fix race where concurrent ``REFRESH MATERIALIZED VIEW`` on the same Hive-backed Iceberg materialized view could lose a watermark update. # All Commits - 4f8be7c2dcb7def7c113503da91b6f726b23ab3c fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (#27828) (Nivin C S) - 54cabf9207d654dc8b42ea3c6a2ca3cb4de2f736 chore(ci): Advance velox (#27886) (Amit Dutta) - 39e9ec63aae2bc6342e90d96c3d1f2f5ffe5df79 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (#27865) (sumi-mathew) - e78428e6303bd1aeadf2190daeb2672caf1a9a5b refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (#27873) (Shrinidhi Joshi) - 3ed75c8d7a84328335ed121adba2c03d3d459257 fix(native-pos): Move ShuffleWriter and pool creation inside MaterializedOutputBuffer (#27872) (#27872) (Shrinidhi Joshi) - c3946f3325806101255c996a7b79c473183e068e test: Add end to end tests for string functions (#26950) (Allen Shen) - 869548bd2558d856b37a80762313b237312a9c46 refactor(native): Migrate to PrestoQueryConfig for array_agg.ignore_nulls (#27876) (Maria Basmanova) - 3f8e87638b102a1d3d93a57e9f16e24de28447be fix(native-pos): Add typed units to MaterializedOutputBuffer runtime stats (#27870) (Shrinidhi Joshi) - 86ab4a4a6df0c5984f8add15caaf9fe1a93a7977 refactor(native-pos): Remove cooperative backpressure and `useSystemMemory` config (#27869) (Shrinidhi Joshi) - a31f69f64d856574529ed5a6b104cf8c564f1c32 chore(deps): Update jackson version to 2.18.6 (#27293) (Sayari Mukherjee) - 871f92d45a81c580384681437891908e01506b92 chore: Force modernizer use for all modules up to presto-main-base (#27867) (Zac Blanco) - a51fe41c87a2ff77c7c5297b144288f6e04b4997 test(native-pos): Reduce `kLocalShuffleMaxPartitionBytes` default to 64KB (#27868) (Shrinidhi Joshi) - 4617d4685a9fe2262240dc1c44cda2e1be37d747 feat: Adding Apache Arrow FlightShim for connector federation in C++ workers (#26369) (Bryan Cutler) - 6185c1b22293f3d5c1bd0abed891224426ddb363 chore: Bump webpack-cli from 5.1.4 to 7.0.2 in /presto-ui/src (#27852) (sumi-mathew) - a658c94f2b81f5c7abe400c192deeb84a8346d7a feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based (#27820) (Timothy Meehan) - 46cc03138b034839bc05468be6ad801e4f665cba fix(plugin-iceberg): Fix duplicate view creation in Hive catalog (#27835) (Timothy Meehan) - 3df2afa1769509be19279c9433367ae36c0df300 chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true (#26833) (Yabin Ma) - 381e181176178892dbf73a6422dd2bcafbbfa1c6 chore(deps): Bump jetty from 12.0.29 to 12.0.34 (#27294) (Shahim Sharafudeen) - ee7c8a567ffb3e5cf40a31fcbe5904eb5109265f fix(native): Fix CMake link order for presto_server_lib (#27847) (Tirumala Saiteja Goruganthu) - 679d5342881d1021b9a3d038ebec0cd98bb2b4ac docs: Fix formatting of table in connector/iceberg.rst (#27859) (Steve Burnett) - dc48d4a399b800d20d9cff1c26beaa15720e3b04 chore(ci): Advance velox (#27802) (Amit Dutta) - b22bb99a7f950980c4b1f04a72c373740e5e92dc docs: Fix prestocpp setup config file (#27857) (Reetika Agrawal) - 5608831355838f839b4a428550c50e45ef435360 fix(plugin-iceberg): Disable equality delete as join for DELETE/UPDATE (#27854) (Naveen Mahadevuni) - 71088a83203252340f49fcbfe3e7f9c5832342aa chore(deps): Upgrade protobuf to 4.34.1 (#27844) (bibith4) - 241c94ac60996f5dfeeb85a3e872e3dfd1b5e251 chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector (#27803) (Sayari Mukherjee) - 73aa19fda74895b62ebe545b1e500813d00a258d fix(testing): Fix TPC-H native-execution tests to use the right storage format and standard queries (#27581) (Pramod Satya) - f7c0ab9e2b7230829372cf24b4c640f44be31e5a feat(optimizer): Add per-column predicates for ROW IN/NOT IN (#27708) (Sreeni Viswanadha) - 41a66fc0fe2fd7707fd84062cf075a9a683803b1 fix(native): Allow UTC timezone (key=0) in session config (#27309) (Shakyan Kushwaha) - 77e782ce8de12518155cfb30d472e7f3d75afa21 chore(deps): Upgrade eslint-plugin-react-hooks to version 7.1.1 (#27845) (bibith4) - 7ee85da37a4d09182392b8c05a9e0622e453acfd fix(native): Possible segv in system data source creation (#27807) (Christian Zentgraf) - b7f8f05a286a1f611e48a04babf2cf99b8688507 fix(plugin-iceberg): Add warnings for stitching and refresh fallback (#27816) (Timothy Meehan) - b30db0a9a01ee92673327ec7df909eeee7203cb3 chore(deps): Upgrade datasketches-java to version 6.2.0 (#27839) (Sayari Mukherjee) - be01a17a06c16cb8004736e0b1f2dc5488805300 refactor(planner): Extract shared expression rewriter for MV query optimizer (#27732) (#27732) (Chandrakant Vankayalapati) - 10d55723b93ccd907a1bba2736428271abc53bcf fix: Disallow rewrite_data_files in Iceberg if filter pushdown enabled (#27838) (Dong Wang) - 5aa4abed4085cadd7ef5a0b8f47673486245c9b1 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (#27712) (Sreeni Viswanadha) - 2301c14aa4def417f7766b2d542ce8191d4c2050 fix(ci): Update release notes check to use raw markdown body (#27842) (Rebecca Schlussel) - 917cf4cd78d32ca72ef6b7b45c77c3d44a7b3b26 chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 (#27797) (Ben Hu) - 7faea8429c9b23d67f577f42543796d6a57e0253 feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints (#27486) (Jamille Shao-Ni) - a95cb3ef06310b98b43da290d03fd8c8ee82f35c feat(plugin-iceberg): Push down min/max/count based on file stats (#27085) (Dong Wang) - 92046f2512be60dd0cb2a5f95377629733fd92e0 fix(analyzer): Relax stale view validation for compatible string types (#27776) (Reetika Agrawal) - 6ba9b3a2291d469f384f260451f1b2f776709255 chore(deps): Upgrade commons-logging dependency from 1.3.5 to 1.3.6 (#27811) (Nivin C S) - c6505360c4fb31bc5aabbc4e0e41fe285b638912 feat(plugin-iceberg): Bound MV refresh (#27774) (Timothy Meehan) - d8a2b53fa42fa41ca5025f9d7640c8eebc9ff15b feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance (#27819) (Sreeni Viswanadha) - 6823d9c9b135e6781bc9f4a30c658eb805b6518a chore(deps): Bump webpack-dev-server from 5.2.1 to 5.2.4 in /presto-ui/src (#27840) (dependabot[bot]) - 888991dc8b1a07424aba33f3c8bb440820479f0c chore: Bump commons.codec from 1.17.2 to 1.21.0 (#27756) (sumi-mathew) - 1da69a6e246fdeecc7302e8385b7ec4580e27821 fix(optimizer): Handle RPC functions inside TRY expressions (#27818) (feilong-liu) - 3233fe18835b38c1f7399f97a937bc79f1208dbf chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (#27830) (Rebecca Schlussel) - c11fbf9f5f5415a3e28ea2d677acea27754788ee chore(deps): Upgrading mongodb driver to mongodb driver sync (#27685) (Glerin Pinhero) - 79cc9cb5c5bb586c9bde73c362912eef1b1188db refactor: Remove duplicate check of iceberg v3 validation (#27837) (Reetika Agrawal) - 3161b74a9d8b201487835db397aefe60178fea0d refactor: Add missing getter methods and fix ordering in MetadataManagerStats (#27825) (Reetika Agrawal) - 3332fa796f9724aed783d4f3f5af81578961b336 feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default (#27810) (Reetika Agrawal) - b294d8bf029c78a1afbabf3cae66d1b4f305dafa fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (#27833) (Shrinidhi Joshi) - 0da3bb839ea7085c1dd6ca365627ecc107f50973 feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns (#27598) (Sreeni Viswanadha) - da0f63f907f8993b56e9dddf5eedd100a77022f3 feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` (#27806) (Timothy Meehan) - 9b2559f2138b9e31d5a198b1261d23dee2a15111 chore: Remove old NaN definition and mark config as defunct (#27829) (Rebecca Schlussel) - 34d459d66c03e4a866ee2332a28826c90e105222 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (#25418) (Nivin C S) - f12815ce648cfcfdd3721f4cd54a12e56ecdb4b2 chore(deps): Upgrade openlineage-java to 1.47.1 to fix CVE-2026-40542 (#27812) (Dilli Babu Godari) - fd67186b43f87362df58e8ab1cbe79e7f507ffa1 feat: Wire up IndexSource splits to Spark task sources (#27817) (Zac) - 65547f47ad87d4ccc1e7576d7cc864f717490893 feat(native): Iceberg V3 initialDefaultValue (#27767) (Reetika Agrawal) - c2f37fc3ec49e3455e91afaef31dfb034e617bc8 fix: Enable partition-aware grouped execution for index joins (#27701) (Zac) - 4509fb24ec79df4093a83ffb50e6d688ee0f0854 chore(deps): Upgrade ratis dependencies from 3.1.3 to 3.2.2 (#27787) (Nivin C S) - 1d6737a6624fa048e2db721b905861f9958ee092 fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput (#27765) (Sreeni Viswanadha) - d7f0f924c30e79238d20113afbc2977536ef35b7 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (#27697) (Kevin Tang) - b4ce8d0d82797243153502c17769c0cfde8e6c5c misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (#27696) (Kevin Tang) - 18e730b1da26f301fe7362f514252f370671d623 docs: Fix errors in doc build (#27805) (Steve Burnett) - 81d4bde174f8e7dbdd1c9dbae1ecf3330b16267c feat(client): Add connection validation feature to enhance connection reliability (#27002) (Sayari Mukherjee) - f0d744296a0ba0f3c4031fde5cd9eaa370d1e397 feat(optimizer): Push aggregation through UNION ALL with disjoint group keys (#27764) (Sreeni Viswanadha) - bf30efcd530b9b181ec21672b8140ec0ebf6231a feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (#26260) (Dilli Babu Godari) - 9bacdef43077268ca4abefd24718cfc8caef2b1c perf(native-pos): Fix OOM due to excessive memory usage in BroadcastFileReader (#27798) (Shrinidhi Joshi) - 95db1c86b6098026c48167dfa751393359ebdab5 feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates (#27766) (Timothy Meehan) - 76d8bf2f42476c36e429e7515797f452ca79aef3 fix(plugin-iceberg): Handle deprecated Iceberg write.object-storage.path property (#27758) (Reetika Agrawal) - 52f8f99b36a43d89f448a54b5220ad659fd3a5e0 fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 (#27769) (Shahim Sharafudeen) - 7056bdb10dafdcdd36649535c27e652ab843ebbd feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin (#27748) (Pratik Joseph Dabre) - 21a6092869bf9e7f0832e15879e5a023164b6723 feat(native-pos): Make MaterializedOutputBuffer size configurable with dynamic drain threshold (#27795) (#27795) (Shrinidhi Joshi) - 770df6161cd196d61f9fdedd9595e453ea621a0b fix(native-pos): Add flow control logging to MaterializedOutputBuffer (#27794) (#27794) (Shrinidhi Joshi) - c237df17e5c216ee75913d28f5f9244dca904070 chore(ci): Advance velox (#27786) (Joe Abraham) - 18fec98bdd3485e64d03bc36bcd7c05f96c555c1 chore(deps): Upgrade jest version to 30.3.0 (#27657) (Sayari Mukherjee) - ace806dd47e337d85a74ef814ccae4d530057db1 test: Add end to end test for jaccard_index (#27591) (jkhaliqi) - e2c083acc87b705657c832dbec1c4f66f90825f2 fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 (#27790) (Chandrakant Vankayalapati) - 3449d457efacef3697c832b87d4657522cd9a9d2 chore(deps): Upgrade gson dependencies from 2.12.1 to 2.14.0 (#27779) (Nivin C S) - c45405dfc8cf2017f62e5e27c3c860d9c697cdc8 fix(security): Upgrade libthrift to address CVE-2026-41604 (#27777) (sumi-mathew) - d7c8658c654a27caf28e36caf87dba5e170dbde9 docs: Document optimizer and Iceberg properties (#27775) (Asish Kumar) - 2acd947be65af53ed13f6651aca0586801575e98 fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY (#27778) (Chandrakant Vankayalapati) - bb46550550e257affc78ac7ea111f548acd83239 feat: Add partition-aware grouped execution for bucketed tables (#27663) (feilong-liu) - f65259c38cf23e1e8b1c5942fb57f069c60c5bcf chore(deps): Upgrade React and ReactDOM to version 19.2.4 (#27740) (Sayari Mukherjee) - e1eb82f978ab72e92c79b51b88bb3eb0a152b80c fix: Allow DELETE queries to run on Presto on Spark (#26195) (Gary Helmling) - 8982f133809140a3c94595414b1d82518463e3f8 chore(deps): Upgrade react-simple-code-editor from 0.13.1 to 0.14.1 (#27739) (Sayari Mukherjee) - efaf47f42aa9651a4c818c8f9c1eb5af38f90037 feat(plugin-delta): Support reading tables with column mapping enabled (#27483) (Miguel Blanco Godón) - 7a9a2872c084815393063fed6e80a5b39642200a fix(native-pos): Fix PartitionAndSerialize ROUND_ROBIN sending all rows to partition 0 (#27770) (Shrinidhi Joshi) - ad09e9bd5ac631c82202985f19207e943dbe4290 fix: Load coordinator plugins before standard plugins across bundles (#27729) (Pratik Joseph Dabre) - 426dd7c1b19979788d1300b39d81139620988fcc fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (#27773) (feilong-liu) - 6aed02700ca94defa04d427854e6492119a7ccbe feat(analyzer): Allow HAVING in materialized view query rewrite (#27677) (Timothy Meehan) - f1c7b7d3df6736e46e2ac0651d4b44e18c5e4ea0 chore: Bump commons-dbcp2 from 2.12.0 to 2.14.0 (#27754) (sumi-mathew) - 39513c10a1f0b02195a08f78691b0e4059dace6f chore(deps): Bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /presto-ui/src (#27763) (dependabot[bot]) - 5191b72fb4e7b680c0c36e2e0a5411f251e3b10d fix(plugin-iceberg): Do not check access control for MV data table (#27728) (Timothy Meehan) - 00acf72fa459e525d22c37c6abbfa22a3d401497 chore(deps): Bump SingleStore JDBC client to 1.2.11 (#27759) (Dilli Babu Godari) - d5b68df83e73e7a2269dd90ce6073d9d2ae3a31d chore(deps): Bump Apache Lucene 8.11.3 to 9.12.3 (#27757) (Dilli Babu Godari) - bb26a1ecf9f0badaa655d73a967f5b9426a58a8c test: Add end-to-end tests for numeric_histogram function (#26968) (Allen Shen) - 434758f0738d0cee949ce531b3afb82dd095f43b fix: Honor channels parameter in RestSqlFunctionExecutor (#27684) (Joe Abraham) - c169c153008d9de15f1848a6d80affd8a40e6ead chore(ci): Advance velox (#27716) (Amit Dutta) - 9e8ba1c8cc4b98551ec27935be4b112777b9bb62 fix: Populate session fields when query fails before Session is authenticated (#27752) (Kevin Tang) - a3516e21602fcd7cf5bae8ba24ea022232069f5e fix(ui): Fix timeline legend layout with gaps between colored bars (#27731) (Yihong Wang) - 89ceb1618bd3ba2338c6a7014720e221d4157714 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (#27683) (Henry Dikeman) - 296ee91d3c5bd3b93b898aabca0f29a27ba0878f feat(native-pos): MaterializedOutput: support replicateNullsAndAny (#27753) (Shrinidhi Joshi) - abed99b86b4961672cc569422c30de677377c7a4 chore(deps): Upgrade html-webpack-plugin from 5.6.0 to 5.6.6 (#27737) (Sayari Mukherjee) - d93dc465a9859fadfaa7086d7fac3429edd1aafe fix(deps): Bump presto-spark-classloader-spark3 parent version to 0.298-SNAPSHOT (#27747) (Kevin Tang) - d94276a3e66c25a6b67f243fcb148968b8004b98 feat(connector): Add support for `execute` procedure in JDBC connectors (#27282) (Pratyaksh Sharma) - d7d029abfb2e92c8d0f549863d846d2f38ba17cd chore(deps): Upgrade vis-timeline from 7.7.3 to 8.5.0 (#27721) (Sayari Mukherjee) - c0f9cd4cb13b8d12ab40d67b8d97516776102cf6 fix(security): Upgrade fast-uri from 3.0.6 to 3.1.2 in /presto-ui/src to resolve CVE-2026-6321 (#27736) (nishithakbhaskaran) - c2f09fb5eebdbbb5bef5ac6fc9c38d3ac688bc67 chore(deps): Upgrade @babel/core to version 7.29.0 (#27741) (Sayari Mukherjee) - 1dcec7b47b2d29d931a7d2e38d391bc10b9c68ed chore: Bump com.tdunning:t-digest from 3.2 to 3.3 (#27718) (sumi-mathew) - 4443e880bf4e7317544cb036370f84fd3b9aaf70 chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 (#27722) (dependabot[bot]) - cecd415e63bc8810a8833b4155fe754451c3ce36 fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path (#27714) (feilong-liu) - 09d70672cfab613f4ed12345e517738c6b811e54 chore(deps): Upgrade jQuery from 3.7.1 to 4.0.0 (#27720) (Sayari Mukherjee) - 30776976bfc9d67c1807ed68378f0a00f30da5d2 chore(deps): Upgrade babel-loader:9.1.3 to 10.1.1 (#27656) (Sayari Mukherjee) - b8d7610a7242d0c9f808e82894349ad15da2aed4 feat(native-pos): MaterializeExchange: [1/n] Add MaterializedExchange operators and plan wiring support (#27573) (#27573) (Shrinidhi Joshi) - d3ad72cea746a0e6de1c3d86cab5a7b5e4b947d8 feat: MetadataExtractor: prefetch source table for CREATE VECTOR INDEX (#27713) (XiaoDu) - d9be702264414185ec27deb24571195698185f22 feat: Support extending verifier QueryRewriter (#27703) (#27703) (Gary Helmling) - 669219f6c9ad01f371a44d254523f49382346878 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Arjun Gupta) - 140e5093ae8cf6f096b29ea5def5b1356a844106 chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 (#27715) (nishithakbhaskaran) - 1e1cc916868eb8bae0efc302c0a2a0e0d10b642e fix(analyzer): Skip unmapped derived columns in MV partition filtering (#27706) (Chandrakant Vankayalapati) - e743edc134fca7e6e0013f717a28f7f0f1775973 docs(security): Improve authentication docs (#27692) (Pratyaksh Sharma) - be18151a766a01e0deb227e1830afbf08d9c3ef5 chore(deps): Bump commons-pool2 from 2.11.1 to 2.13.1 (#27648) (sumi-mathew) - a78a231330f9baf756bfcb5691042caeab4ebf9c fix(native): Fix BIND expression loss for captured lambdas in NativeExpressionOptimizer (#27593) (Pramod Satya) - 8d334451742d620e3221993756ac9c665093a5ca fix: Integer overflow in range filter boundary conversion (#27600) (#27600) (peterenescu) - 09de245ab5b7a1a9d010170cc63605d3592b5201 feat(planner): Support scalar functions in MV query rewriting (#27549) (#27549) (Chandrakant Vankayalapati) - ad7acf8059a873c4c5913863941e384b81e6f8d6 fix: Change error tagging from internal error to user error (#27686) (Konjac Huang) - bcb7b22d4ec9aef4c205c02efe3af499460645e8 chore(deps): Bump css-loader from 7.1.2 to 7.1.4 in /presto-ui/src (#27667) (nishithakbhaskaran) - 3aefe857faeb551d84e42e3c60d7581ddb8ac84d feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size (#27700) (feilong-liu) - 3c081e145ba23012e87199ce3a1552088f2424de refactor(native): Clean up the saturate cast of count metric (#27676) (Rui Mo) - 3334738474b994fadc76139b3066af1e45081b57 feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read (#27659) (Reetika Agrawal) - b3aa1274d232cfdc2729cc240e6676096355b11d perf(optimizer): Clean up prefilter distinct limit (#27678) (Sreeni Viswanadha) - decea18211557286b50e2259a11256c0f0146e2f fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) (#27691) (Sergey Pershin) - 2b74be7c29cfc2b69053aad10ae03f6d527e9a7d chore(deps): Bump ts-jest from 29.4.6 to 29.4.9 in /presto-ui/src (#27660) (nishithakbhaskaran) - 46167847b821e2b7a3b1d1ce4c723d1b0d4b5863 feat(connector): Add caching for Lance connector (#27325) (Jianjian Xie) - 0ea6b49d7d237633583cb434dfff0022f273a20b fix: Replace Optional.or with ternary for Java 8 compatibility (#27693) (Kevin Tang) - 298a125e2614b6056cfeaf04f653427487f11a3f chore(deps): Upgrade styled-components version to 6.4.1 (#27675) (bibith4) - 2bc8fc58a8c008f2a906f3fd3204ec738fb12b39 feat(native): Upgrade the nlohman json dependency to 3.12.0 (#27161) (Christian Zentgraf) - 87f92f669805c16d8e44a8962dd372dcb87e72ad perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (#27680) (Sreeni Viswanadha) - 240d1426878f196224228e49b59ff1e272e7d337 docs(security): Add more details in docs (#27681) (Pratyaksh Sharma) - 8319359fd5be8d23955359ff16dfd40b3c6d6a9d docs: Fix phrasing in connector/lance.rst (#27640) (Steve Burnett) - c2abc247f313c7d121e2da8f26d23d057681a5de feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) (#27639) (Chandrakant Vankayalapati) - e4a3b89366187f0ed00584f8e2e1f37a87fe71ad revert: Add metastore cache invalidation in iceberg (#27200) (Pratyaksh Sharma) - 1604b1e62ea0e6d253d9be303b4c0cba9a89ddae fix: Union of TVF leaf operators results in multiple split sources (#26980) (mohsaka) - 9d6e9bafb84f719489b2c7a22ccf309cf690b7b2 feat(plugin-iceberg): Add zorder to rewrite_data_files (#27561) (mohsaka) - 579fbea8171c7595cc1175c493e569735dde8153 feat(optimizer): Add TopN late materialization using $row_id (#27641) (Sreeni Viswanadha) - cdc69ccba481e0f1f5621c63dc93351c3abb5c51 feat: Add TLS/SSL configuration support for Oracle connector (#27671) (Dilli Babu Godari) - e024dd71949156876c6b7e28cbbd437af82731c8 feat: Add Oracle i18n character set support (#27670) (Dilli Babu Godari) - 21c9bc66509630fbbad2583489b8fd448b6f370c feat: Add configurable JDBC fetch size support (#27669) (Dilli Babu Godari) - 03eed7a800d298ab9505ad04e0b6e80531ec6310 fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) (#27645) (Nivin C S) - c7da91bd852cbad929c5af9a317bbeed0848c8ce fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (#27673) (shelton408) - fc6e087f31a4a72c6deee0efdd1c0ff7f5a92e88 feat(plugin-iceberg): Support creating branches on empty tables (#27270) (Dong Wang) - 515241636649b768a06793b9704d6fd3f5f3e003 test: Extend Iceberg schema evolution tests to cover PARQUET format (#27174) (Dong Wang) - 2f81bd37b6f989ee61417c9b90d2c31f5b42eb66 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (#27616) (Apurva Kumar) - 60d7de71f1ec54dffb09d82ed21efa41ee5c3ca8 chore(deps): Upgrade testing-library/user-event version to 14.6.1 (#27623) (bibith4) - f318aaa25583b1450cfde087e0549d648ae5c951 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (#27664) (Sreeni Viswanadha) - 5bda1283378de2869ff5d7de3fa45346361fb4d9 chore(ci): Advance Velox (#27650) (Christian Zentgraf) - 18388dc797444722d9e83215c707851e0d7df208 feat(plugin-iceberg): Add rewrite-all option and default value for min-input-files (#27633) (mohsaka) - fd2a22b4fc5da6dfc7b1465c5ebda56eb254a1dc docs: Add missing authentication and advanced configs for Druid connector (#27611) (Saurabh Mahawar) - d11ffdbfd04aac7384a45ea5a099a4eb6c624120 chore(deps): Upgrade react-data-table-component version to 7.7.1 (#27647) (bibith4) - 39f71665bcdb2483b91ec490aeb25ce0831fcc95 chore(deps): Upgrade testing-library/jest-dom version to 6.9.1 (#27624) (bibith4) - d06018be9004b5d5c9991c2df5bc901534667f0d feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (#27480) (join-theory-de) - 5e21de8354972c88b45b2df56b3ce20829bc5619 chore(deps): Upgrade testing-library/react version to 16.3.2 (#27625) (bibith4) - e2bca0766913e60ffd537b72e7ea4a4dba532748 fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 (#27613) (Shahim Sharafudeen) - 995dbad434ef0ee2faa4edd1710716dfe32f55ec feat(optimizer): Support incremental refresh of materialized views (#26959) (Timothy Meehan) - 993cef3ee9a321a8a507314d03091ced8ac0ab83 feat(connector): Add filter pushdown for Lance connector (#27430) (jja725) - 82889cd61264e0013b6a0113f3d82ca8ab3193e1 fix: Avoid int64 overflow in PlanNodeStatsSummarizer (#27632) (#27632) (Sergey Pershin) - b2569e841d958ee92950c80818c3408308cc3c57 chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests (#27606) (dependabot[bot]) - dae4091c7105d1370544bfcb11baf8f8a79256bc fix(plugin-iceberg): Reduce max history queries to avoid OOM in CI test (#27519) (Dong Wang) - 91e9132db5abcbfb0d7ab2232602784c5f02d5b4 feat(plugin-native-sidecar): Add operational metrics to sidecar (#27595) (Pratik Joseph Dabre) - 4d8da3fa5ec064b13fd658f1fb6802b687ded6de feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) (#27538) (Chandrakant Vankayalapati) - 6f8ecdbd848ee092dc34a162a5073955c840e703 chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 (#27583) (Nandakumar Balagopal) - 09e522f66c0e716d9b150d708a5fa8de4f762554 fix(security): Upgrade gcs version to 2.2.28 (#25424) (Shahim Sharafudeen) - 668ae1086c90f15581549519e49170a5ca864e63 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (#27614) (Apurva Kumar) - ced25b8965b98cf4a1d660ce7108f5bb39539302 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (#27603) (zhichenxu-meta) - bb615b3890dd3fa61b1d8f3bbafbcc8e71e827a8 fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent (#27129) (Miguel Blanco Godón) - dce6efdab414b583632dea0fc20543ae3d8ccd3e fix(plugin-native-sidecar): Pass session start time as a header in native expression optimizer (#27545) (Pratik Joseph Dabre) - 469a6965155e4cf25884c311d4f94d458c034981 feat(native): Add index source plan conversion with connector extensibility (#27596) (#27596) (Zac) - 94a11f78597d12e6246e60ed7c383f597ad90eff chore(deps): Bump org.codehaus.plexus:plexus-utils from 3.6.0 to 3.6.1 (#27471) (Sayari Mukherjee) - 231fd12dcc7025d5724b0cd1ffa25f5a7ce7cdd1 chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 (#27574) (dependabot[bot]) - a8355398f9ad980e2f5ecde9abfac99e18261a76 chore(connector): Upgrade clickhouse-jdbc to 0.3.2 (#26990) (sumi-mathew) - 90910c7fe8f6be850a83aa031d5a93559958116b misc(planner): Move RpcFunctionOptimizer after RewriteRowExpressions (#27594) (feilong-liu) - 86f564b900c8277a463d5ec77dae08c06401f08d fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak (#27597) (Swapnil) - ef8eea0ac3bbba102a98ce7a52992d4d48812124 fix(plugin-native-sidecar): Add additional CAST for mismatching array constructor args (#27556) (Pratik Joseph Dabre) - 47f6dfa53bd3da3ef536aefe45b34263849df9bb chore(deps): Bump follow-redirects from 1.15.9 to 1.16.0 in /presto-ui/src (#27587) (dependabot[bot]) - b4a645ad4413900a6f676b72405b418ae96310b8 feat(native): Distributed Procedure Support (#26375) (Dong Wang) - 177d6ff7f57064e68b02993611bc4240942d1f4c feat(native): Add IndexSourceNode planner support and split scheduling (#27296) (#27296) (Zac) - 7b2e370a1e61304fc5da17b95186f729a6cd0f0b feat: Reject duplicate columns in CREATE VECTOR INDEX (#27588) (Ke Wang) - b2dfddc52733ce66aa7fec66a06d6c8c8d968bec feat: Validate embedding column type in CREATE VECTOR INDEX (#27589) (Ke Wang) - 3c36e504600c80364a59f6cb2bdaae004eb1e9b9 refactor(plugin-iceberg): Defer the start of transaction for procedure (#27586) (Dong Wang) - 4b775d743ef52b107d04e40b733e244827c709b9 chore(ci): Advance Velox (#27503) (Christian Zentgraf) - a82063a0985dc1b54777c6e6354cd5999f4b396d fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin (#27568) (Sreeni Viswanadha) - a2dc569e6cc6b04c4a1012ea5e9fc648b36c0110 fix(plugin-druid): Add version for lz4-java to fix maven deployment (#27584) (Li) - 0d7cd9501a0ab75df5dd2b6aac848c7978f0ad75 fix(native): Fix TRY expression handling in NativeExpressionOptimizer (#27122) (Pramod Satya) - 5d26fb35bc7f78419156cda64a6f238e92099016 misc: Fix code style issues, copy-paste bug, and UB in presto-native-execution (#27572) (#27572) (Amit Dutta) - 31f7f3c5b6165c118c58db88d12aae9d54b34d83 fix(native): Handle NULL ROWs when returning from native expression optimizer (#27528) (Pratik Joseph Dabre) - 459286a0f0c4ff972e876d5c3d45327fb8499444 fix(native): Fix worker shutdown sequence (#27566) (#27566) (Sergey Pershin) - 5bd6ca88673ba2c6b44ec3370d0fd464ab923270 fix: Remove duplicate checkQueryIntegrity call in CreateMaterializedViewTask (#27567) (Kevin Tang) - 913a4285a2817555b70e84f11d82fdb33484d9a7 feat(optimizer): Rewrite bucketed semi-join to join (#27510) (Sreeni Viswanadha) - 09400b98c7a46925210ad09ade111536422ed1a6 feat: Add pmod (positive modulo) scalar function (#27543) (#27543) (Natasha Sehgal) - dd6606c9d786099e0fb58b232e19654adad25a9c feat(plugin-iceberg): Add min-input-files, min-file-size-bytes, max-file-size-bytes options to rewrite_data_files procedure (#27515) (mohsaka) - 23e35ab6993d62e97f9f180802ac7c55df627ee8 docs: Fix formatting of code blocks in develop/table-functions.rst (#27502) (Steve Burnett) - a4f8f58ef4d84c1847b52b30a2643257f0951bca fix(plugin-native-sidecar): Fix flattened AND/OR expressions by the native expression optimizer (#27517) (Pratik Joseph Dabre) - 4c72d5cc1ed99ab1acd13ae92f94d31ef2336637 test: Add e2e tests for binary functions (#26970) (Allen Shen) - 4b6d9c9e9f88df699308549064615fada467cca5 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (#27525) (Henry Dikeman) - b25bb12435d53d6aaa1b3460c86db908e8983fc3 feat(native): Add Java planner integration, protocol, and dynamic RPC function detection (#27555) (abhinavmuk04) - 62d690b279c0899bc5105f5412ef74a240b96c2e fix(build): Use explicit optional constructor (#27513) (Christian Zentgraf) - cc294de45fb8deea40dabf1bbe85321a7dedfdd4 fix(native): Do not discard all tasks in maybeStartNextQueuedTask() (#27548) (#27548) (Sergey Pershin) - 151c3373b1998f0e006a0dec439142d7733c36bc perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup (#27553) (feilong-liu) - 05f8e4404f117c66c1eebd40d1be364ddfe702c3 perf(planner): Optimize query planning for wide-column projections (#27547) (feilong-liu) - a3a1d3cdc1d556985f314de0af35a30e1adad0d3 test: Add E2E tests for geo functions (#26969) (jkhaliqi) - 6af43bb021706dbaabb55dbff151cf22aaac6bbb feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis (#27504) (Kevin Tang) - d488205f1fdedddee6a537e25b704799d3b5e5b8 chore: Update error message in Iceberg table row deletions (#27495) (nishithakbhaskaran) - ed41ee81e2377d1944f7ae47f1512f7833549730 feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning (#27500) (Sreeni Viswanadha) - b9b15ae4a8b639f4f926695c7e0694d8cf2010de fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch (#27493) (Sreeni Viswanadha) - dd82b57d2da28e7297b4ef99534da7a74eff6d4f feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) (#27491) (Sreeni Viswanadha) - 65cf3e94214284946710cc21fc7330c0c56e41db chore(deps): Upgrade testing-library/dom version to 10.4.1 (#27520) (bibith4) - 40c1c4e2101ec359770f45c5c15f183add900a5a docs(native): Add missing native session properties (#27506) (Saurabh Mahawar) - 0b313de489c0ed1b19a1543bab9f23cdb027db2c feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values (#27357) (Prashant Sharma) - 1968770e91a1206aaa176148f60b11f7e8178364 test(native): Add E2E tests for array functions (#26937) (jkhaliqi) - a92fa12dd45173cf54dee0089887810a9f585fba feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (#27421) (Apurva Kumar) - 7f76c833f5551a8fa4e9e86090c5f3fa135da829 docs(optimizer): Add more details to the materialized view documentation (#27465) (bibith4) - 175143b4bf9d0fe5e8246cedbf38614d1c3e113a chore(deps): Upgrade commons-text version to 1.15.0 (#27494) (bibith4) - 29ed629bf60c4a508a4a1d1a5c3e730a53491f05 fix: Use namespaced GTest targets in arrow_flight tests (#27137) (jkhaliqi) - 291f2048f3bf3b5afe275f0589d547eac3f687a9 feat: Add exchange transport type (HTTP/ANY) to plan fragments (#27355) (Daniel Bauer) - ee0eec7b5b12aef7feb1ea6d6dd7411387003caa feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) (#27422) (Chandrakant Vankayalapati) - 7655f36483b5074d0394bc1a34ae48c25612b872 feat: Add read support for row lineage columns in Iceberg connector (#27240) (Joe Abraham) - 2af1e04aad8d28b7b806f44905abeb7812cc3354 feat: Remove index table existence check (#27509) (#27509) (Ke Wang) - 74a3458ab835a8af25aa40f458ac16c0d598a94d feat: Add observability for query state transitions in Presto (#26418) (#26418) (abhinavmuk04) - fc3669795814668bd1d90da27bc72ed51ee81eb8 misc: Show stage completion state in query plan (#27388) (#27388) (feilong-liu) - 232429917efbbbf3c7d30a3c62f7996fc5b3126f feat(planner): Extract remote functions from $internal$try lambda in PlanRemoteProjections (#27451) (feilong-liu) - 28bb9006e70e7bdfaa1141ee7797e208934a6491 feat: Add number of total driver threads (#27501) (#27501) (XiaoDu) - 926e2cdad1cb715542272f634458c9524dff32ea fix: Revised the principal field retrieval (#27014) (Yihong Wang) - cc4ec4a173679cfbd8e36893907435e88b5e0bd0 fix: Allow view querying with Mongo connector (#26995) (Auden Woolfson) - 52ad58aae1ec9744161af78416b0274fd90de2bb feat(connector): Add Azure Blob Storage and ADLS Gen2 support (#25107) (Deepak Mehra) - ec92f2a3ad06bca5375e28b74e1b35eea78be658 chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src (#27497) (dependabot[bot]) - c1603bd2a9b5e37617d96597ba11a7e22007de79 feat: Add MergeSumsToVectorSum optimizer rule (#27335) (#27335) (abhinavmuk04) - cd6ee833414c1bc9e9c910637bcd3eaa7e1e53b0 test(native): Enable cuDF in native tests (#27369) (Pramod Satya) - aae3971105e4fa3680e37cf3f392fb04b0b071c2 chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src (#27496) (dependabot[bot]) - 27edc1b7354bcf762025fdfa30465706285260ad docs: Add missing doc for ldap.cache-ttl (#27477) (Saurabh Mahawar) - b051f496dfbd697f4e0cf5c51fdac10c53976531 misc: Use folly FunctionScheduler from folly/executors (#27482) (Amit Dutta) ## Release Notes ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Document the 0.298 Presto release, including its features, fixes, and other notable changes in a new release notes page. --------- Co-authored-by: Steve Burnett <burnett@pobox.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Zac Blanco <zachary.blanco@bytedance.com> Co-authored-by: Timothy Meehan <tim@timdmeehan.com>
# Missing Release Notes ## Apurva Kumar - [x] https://github.com/prestodb/presto/pull/27616 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (Merged by: Han Yan) - [x] https://github.com/prestodb/presto/pull/27614 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (Merged by: Dong Wang) - [x] https://github.com/prestodb/presto/pull/27421 feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (Merged by: Kevin Tang) ## Arjun Gupta - [x] https://github.com/prestodb/presto/pull/27642 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Merged by: Arjun Gupta) ## Chandrakant Vankayalapati - [x] https://github.com/prestodb/presto/pull/27706 fix(analyzer): Skip unmapped derived columns in MV partition filtering (Merged by: Chandrakant Vankayalapati) ## Deepak Mehra - [x] https://github.com/prestodb/presto/pull/25107 feat(connector): Add Azure Blob Storage and ADLS Gen2 support (Merged by: Jalpreet Singh Nanda) ## Dilli Babu Godari - [x] https://github.com/prestodb/presto/pull/26260 feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27671 feat: Add TLS/SSL configuration support for Oracle connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27670 feat: Add Oracle i18n character set support (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27669 feat: Add configurable JDBC fetch size support (Merged by: Dilli Babu Godari) ## Gary Helmling - [x] https://github.com/prestodb/presto/pull/27703 feat: Support extending verifier QueryRewriter (#27703) (Merged by: Jianjian Xie) ## Henry Dikeman - [x] https://github.com/prestodb/presto/pull/27683 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (Merged by: Henry Dikeman) - [x] https://github.com/prestodb/presto/pull/27525 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (Merged by: Aditi Pandit) ## Kevin Tang - [x] https://github.com/prestodb/presto/pull/27697 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (Merged by: Kevin Tang) - [x] https://github.com/prestodb/presto/pull/27696 misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (Merged by: Kevin Tang) ## Nivin C S - [x] https://github.com/prestodb/presto/pull/27828 fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (Merged by: Jalpreet Singh Nanda) - [x] https://github.com/prestodb/presto/pull/25418 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (Merged by: Nivin C S) ## Rebecca Schlussel - [x] https://github.com/prestodb/presto/pull/27830 chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (Merged by: Rebecca Schlussel) ## Shrinidhi Joshi - [x] https://github.com/prestodb/presto/pull/27873 refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (Merged by: Xiaoxuan) - [x] https://github.com/prestodb/presto/pull/27833 fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (Merged by: Shrinidhi Joshi) ## Sreeni Viswanadha - [x] https://github.com/prestodb/presto/pull/27708 feat(optimizer): Add per-column predicates for ROW IN/NOT IN (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27712 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27680 perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (Merged by: feilong-liu) - [x] https://github.com/prestodb/presto/pull/27641 feat(optimizer): Add TopN late materialization using $row_id (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27664 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (Merged by: Sreeni Viswanadha) ## feilong-liu - [x] https://github.com/prestodb/presto/pull/27773 fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (Merged by: feilong-liu) ## join-theory-de - [x] https://github.com/prestodb/presto/pull/27480 feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (Merged by: Sreeni Viswanadha) ## peterenescu - [x] https://github.com/prestodb/presto/pull/27600 fix: Integer overflow in range filter boundary conversion (#27600) (Merged by: Amit Dutta) ## shelton408 - [x] https://github.com/prestodb/presto/pull/27673 fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (Merged by: shelton408) ## sumi-mathew - [x] https://github.com/prestodb/presto/pull/27865 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (Merged by: nishithakbhaskaran) ## zhichenxu-meta - [x] https://github.com/prestodb/presto/pull/27603 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (Merged by: feilong-liu) # Extracted Release Notes - #25424 (Author: Shahim Sharafudeen): fix(security): Upgrade gcs version to 2.2.28 - Upgrade google-oauth-client version to 1.34.1 to address `CVE-2020-7692 <https://github.com/advisories/GHSA-f263-c949-w85g>`_ and `CVE-2021-22573 <https://github.com/advisories/GHSA-hw42-3568-wj87>`_. - #26195 (Author: Gary Helmling): fix: Allow DELETE queries to run on Presto on Spark - Fix a gap in query commit for DELETE queries when running on Spark. - #26369 (Author: Bryan Cutler): feat: Adding Apache Arrow FlightShim for connector federation in C++ workers - Adding presto-flight-shim server module for connector federation. - #26833 (Author: Yabin Ma): chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true - Update the default behavior of ``field_names_in_json_cast_enabled`` from false to true. When ``field_names_in_json_cast_enabled = true``, JSON fields are assigned to ROW fields by matching field names regardless of their order in the JSON object. Queries that rely on JSON field order when casting to ROW may return different results after upgrading. If your workload depends on the previous positional behavior, restore it by setting: ``SET SESSION field_names_in_json_cast_enabled = false;``. - #26959 (Author: Timothy Meehan): feat(optimizer): Support incremental refresh of materialized views - Add incremental refresh for materialized views. - Add incremental refresh for materialized views in the Iceberg connector. - #26995 (Author: Auden Woolfson): fix: Allow view querying with Mongo connector - Add view querying capabilities in the Mongo connector. - #27002 (Author: Sayari Mukherjee): feat(client): Add connection validation feature to enhance connection reliability - Add connection validation feature to enhance connection reliability. This can be enabled with the ``validateConnection`` connection property to execute a validation query immediately after establishing the connection. - #27085 (Author: Dong Wang): feat(plugin-iceberg): Push down min/max/count based on file stats - Add support for ``min/max/count`` aggregation push down based on file stats. This can be toggled with the ``aggregate_push_down_enabled`` session property or the ``iceberg.aggregate-push-down-enabled`` configuration property. - #27129 (Author: Miguel Blanco Godón): fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent - Fix a bug that made the metastore inconsistent if created a Delta Lake table to an inaccessible location. - #27200 (Author: Pratyaksh Sharma): revert: Add metastore cache invalidation in iceberg - Add metastore cache invalidation procedure for Iceberg connector. - #27240 (Author: Joe Abraham): feat: Add read support for row lineage columns in Iceberg connector - Add read support for Iceberg V3 row lineage hidden columns `_row_id` and `_last_updated_sequence_number`. - #27282 (Author: Pratyaksh Sharma): feat(connector): Add support for `execute` procedure in JDBC connectors - Add support for `execute` procedure in JDBC connectors. - #27293 (Author: Sayari Mukherjee): chore(deps): Update jackson version to 2.18.6 - Upgrade jackson dependency from 2.15.4 to version 2.18.6 to address `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27294 (Author: Shahim Sharafudeen): chore(deps): Bump jetty from 12.0.29 to 12.0.34 - Upgrade jetty dependency from 0.27 to version 2.0.2 to address `CVE-2025-11143 <https://github.com/advisories/GHSA-wjpw-4j6x-6rwh>` and `CVE-2026-1605 <https://github.com/advisories/GHSA-xxh7-fcf3-rj7f>`_. - #27325 (Author: Jianjian Xie): feat(connector): Add caching for Lance connector - Add configurable index and metadata cache sizes via lance.index-cache-size and lance.metadata-cache-size. - Add version-aware dataset caching with snapshot isolation for consistent query reads. - #27357 (Author: Prashant Sharma): feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values - Add low and high values for varchar/char columns of Iceberg tables. - #27422 (Author: Chandrakant Vankayalapati): feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) - Add support for ``GROUP BY`` and ``ORDER BY`` ordinal references in materialized view query rewriting. Previously, queries like ``SELECT a, SUM(b) FROM t GROUP BY 1`` would silently skip materialized view optimization. - #27430 (Author: Jianjian Xie): feat(connector): Add filter pushdown for Lance connector - Add SQL filter pushdown to reduce data read from disk for selective queries. Supports equality, comparisons, IN lists, IS NULL, and range predicates on Boolean, Integer, Bigint, Real, Double, Varchar, Date, and Timestamp types. - #27483 (Author: Miguel Blanco Godón): feat(plugin-delta): Support reading tables with column mapping enabled - Add support for reading Delta Lake tables with column mapping enabled. - #27486 (Author: Jamille Shao-Ni): feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints - Add support for Thrift serialization (`application/x-thrift-binary`, `application/x-thrift-compact`, `application/x-thrift-fb-compact`) to all TaskResource endpoints for consistent internal communication protocol. - Improve efficiency of coordinator-to-worker communication with 20-40% smaller payload sizes and 2-3x faster serialization compared to JSON. - #27491 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) - Optimize `map_from_entries(ARRAY[ROW(...), ...])` by rewriting to `MAP(ARRAY[keys], ARRAY[values])` at plan time, avoiding intermediate ROW construction. - #27493 (Author: Sreeni Viswanadha): fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch - Fix runtime type mismatch crashes in Velox native execution caused by non-deterministic HashMap iteration order in PreAggregateBeforeGroupId, PushPartialAggregationThroughExchange, and MultipleDistinctAggregationToMarkDistinct optimizer rules. Replace HashMap with LinkedHashMap to preserve aggregation output variable ordering. - #27496 (Author: dependabot[bot]): chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash-es from 4.17.23 to 4.18.1 to address `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27497 (Author: dependabot[bot]): chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash from 4.17.23 to 4.18.1 to address multiple security vulnerabilities: - `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27500 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning - Add optimizer rule RewriteRowConstructorInToDisjunction that rewrites ROW IN ROW predicates into OR of AND equality chains when all ROW fields are partition keys, enabling per-column TupleDomain extraction for partition pruning. Gated behind session property rewrite_row_constructor_in_to_disjunction (default disabled). - #27504 (Author: Kevin Tang): feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis - Add session property :ref:`admin/properties-session:\`\`always_analyze_create_table_query_enabled\`\`` to enable analyzing inner queries on ``CREATE TABLE AS SELECT IF NOT EXISTS`` statements when the target table already exists. - #27510 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite bucketed semi-join to join - Add optimizer rule RewriteBucketedSemiJoinToJoin that rewrites semi-joins into left joins with distinct aggregation when both sides are bucketed on the join key, avoiding data shuffle. Gated behind session property rewrite_bucketed_semi_join_to_join (default disabled). - #27538 (Author: Chandrakant Vankayalapati): feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) - Fix materialized view query rewriting for ``CUBE``, ``ROLLUP``, and ``GROUPING SETS`` clauses. Column references inside these grouping elements are now correctly rewritten to materialized view columns. - #27547 (Author: feilong-liu): perf(planner): Optimize query planning for wide-column projections - Improve query planning performance for wide-column projections by adding fast paths that skip unnecessary processing for variable references, constants, and identity assignments across multiple optimizer rules. - #27549 (Author: Chandrakant Vankayalapati): feat(planner): Support scalar functions in MV query rewriting (#27549) - Add support for scalar functions in materialized view query rewriting. Queries using functions like ``CONCAT``, ``ABS``, ``JSON_EXTRACT``, ``CAST``, ``IF``, ``COALESCE``, and ``CASE`` expressions now correctly rewrite to scan the materialized view. - #27553 (Author: feilong-liu): perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup - Improve logical planner performance for wide-column queries by indexing RelationType.resolveFields() for O(1) field lookup instead of O(N) linear scan. - #27568 (Author: Sreeni Viswanadha): fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin - Fix a bug in PushProjectionThroughCrossJoin optimizer rule where cascading projections above a cross join could cause validation errors by dropping pushed variables from intermediate residual projects. - #27574 (Author: dependabot[bot]): chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 - Upgrade org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 inorder to address `CVE-2026-35554 <https://github.com/advisories/GHSA-5qcv-4rpc-jp93>`_. - #27583 (Author: Nandakumar Balagopal): chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 - Upgrade org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 inorder to address `CVE-2026-34480 <https://nvd.nist.gov/vuln/detail/CVE-2026-34480>`_. - #27597 (Author: Swapnil): fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak - Fix race condition in pruneFinishedQueryInfo causing task memory leak. - #27598 (Author: Sreeni Viswanadha): feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns - Add new session property `join_prefilter_build_side_with_complex_probe_side` (default false) to extend join prefilter optimization to support complex probe-side patterns including UNION ALL, cross join, unnest, and aggregation. - #27606 (Author: dependabot[bot]): chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests - Upgrade org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 to resolve `CVE-2026-0636 <https://nvd.nist.gov/vuln/detail/CVE-2026-0636>`_. - #27613 (Author: Shahim Sharafudeen): fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 - Upgrade async-http-client to version 3.0.9 to address `CVE-2026-40490 <https://github.com/advisories/GHSA-cmxv-58fp-fm3g>`_. - #27639 (Author: Chandrakant Vankayalapati): feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) - Add optional authorizedPrincipal to AuthorizedIdentity to support gateway identity propagation, allowing the session principal to reflect the original client instead of the gateway. - #27645 (Author: Nivin C S): fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) - Fix failure during INSERT into Iceberg tables partitioned by day() when using timestamp with time zone columns. - #27659 (Author: Reetika Agrawal): feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read - Add changes for passing iceberg V3 initialDefaultValue while read. - #27663 (Author: feilong-liu): feat: Add partition-aware grouped execution for bucketed tables - Add `partition_aware_grouped_execution` session property to schedule each (bucket, partition) as a separate lifespan in grouped execution, reducing per-lifespan data volumes for bucketed tables. Disabled by default. - Add support for partition-aware grouped execution in the Hive connector, creating per-(bucket, partition) split queues and compound partition handles. - #27677 (Author: Timothy Meehan): feat(analyzer): Allow HAVING in materialized view query rewrite - Allow HAVING in queries that are transparently rewritten onto a materialized view. - #27678 (Author: Sreeni Viswanadha): perf(optimizer): Clean up prefilter distinct limit - Improve PrefilterForLimitingAggregation optimizer to exclude partition keys from the DistinctLimit, improving convergence speed for GROUP BY + LIMIT queries on partitioned tables. - Add N <= 1000 limit guard to PrefilterForLimitingAggregation to restrict the optimization to small limits. - #27685 (Author: Glerin Pinhero): chore(deps): Upgrading mongodb driver to mongodb driver sync - Upgrade mongo-java-driver to mongodb-driver-sync. - #27691 (Author: Sergey Pershin): fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) - Fix 'planningTime' and 'finishingTime' are no longer added to the 'executionTime'. 'executionTime' is now a true execution time - how long it took the query to run the compute. It can be used to measure the efficiency of the workers w/o added planning time or the time spent on final steps, like partition registration. - #27700 (Author: feilong-liu): feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size - Add ``rpc_streaming_mode`` session property to control RPC function execution mode (``PER_ROW`` or ``BATCH``). Default: ``PER_ROW``. - Add ``rpc_dispatch_batch_size`` session property to control batch size for RPC dispatch in ``BATCH`` mode. Default: ``128``. A value of ``0`` collects all rows before dispatching. - Fix RPC options argument parsing to use the last argument instead of hardcoding index 3. - #27714 (Author: feilong-liu): fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path - Fix UnsupportedOperationException when using `remote_function_names_for_fixed_parallelism` with queries containing UNION ALL below the remote function projection. - #27715 (Author: nishithakbhaskaran): chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 - Upgrade http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve `CVE-2025-32996 <https://nvd.nist.gov/vuln/detail/CVE-2025-32996>`_. - #27722 (Author: dependabot[bot]): chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 - Upgrade org.postgresql:postgresql from 42.7.9 to 42.7.11 to resolve `CVE-2026-42198 <https://nvd.nist.gov/vuln/detail/CVE-2026-42198>`_. - #27728 (Author: Timothy Meehan): fix(plugin-iceberg): Do not check access control for MV data table - Fix access control for materialized view storage tables when ``legacy_materialized_views=false``: storage-table access control is bypassed during MV expansion, while direct queries by name still go through access control. - Add ``iceberg.materialized-view-default-storage-schema`` config to route storage tables into a single schema. Defaults to the materialized view's own schema; per-MV ``storage_schema`` overrides. - #27748 (Author: Pratik Joseph Dabre): feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin - Add support for adding plugin loaded types in sidecar plugin. - #27764 (Author: Sreeni Viswanadha): feat(optimizer): Push aggregation through UNION ALL with disjoint group keys - Add ``push_aggregation_through_disjoint_union`` session property (default off) that pushes a ``GROUP BY`` aggregation completely below ``UNION ALL`` when at least one grouping key has constant values that are pairwise distinct across the union branches, eliminating the final aggregation. - #27765 (Author: Sreeni Viswanadha): fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput - Improve ``SimplifyPlanWithEmptyInput`` to prune empty subtrees that the connector PHYSICAL stage produces under local exchanges. Multi-source exchanges with mixed empty / non-empty children now drop the empty branches, eliminating idle no-op operators at runtime for wide ``UNION ALL`` queries where some branches are pruned to empty by partition / snapshot filtering. Single-source exchanges and write-side subtrees (``TableWriter`` / ``TableFinish``) are preserved. - #27766 (Author: Timothy Meehan): feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates - Add predicate push down on ``_last_updated_sequence_number`` for file-level pruning. - #27767 (Author: Reetika Agrawal): feat(native): Iceberg V3 initialDefaultValue - Add support for iceberg V3 initialDefaultValue. - #27769 (Author: Shahim Sharafudeen): fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 - Upgrade Netty to 4.2.13.Final in response to `CVE-2026-41417 <https://github.com/advisories/GHSA-fghv-69vj-qj49>` , `CVE-2026-44248 <https://github.com/advisories/GHSA-jfg9-48mv-9qgx>` , `CVE-2026-42577 <https://github.com/advisories/GHSA-rwm7-x88c-3g2p>` , `CVE-2026-42578 <https://github.com/advisories/GHSA-45q3-82m4-75jr>` , `CVE-2026-42579 <https://github.com/advisories/GHSA-cm33-6792-r9fm>` , `CVE-2026-42580 <https://github.com/advisories/GHSA-m4cv-j2px-7723>`, `CVE-2026-42581 <https://github.com/advisories/GHSA-xxqh-mfjm-7mv9>` , `CVE-2026-42582 <https://github.com/advisories/GHSA-2c5c-chwr-9hqw>` , `CVE-2026-42583 <https://github.com/advisories/GHSA-mj4r-2hfc-f8p6>` , `CVE-2026-42584 <https://github.com/advisories/GHSA-57rv-r2g8-2cj3>` , `CVE-2026-42585 <https://github.com/advisories/GHSA-38f8-5428-x5cv>` , `CVE-2026-42586 <https://github.com/advisories/GHSA-rgrr-p7gp-5xj7>` and `CVE-2026-42587 <https://github.com/advisories/GHSA-f6hv-jmp6-3vwv>`_. - #27774 (Author: Timothy Meehan): feat(plugin-iceberg): Bound MV refresh - Add ``max_snapshots_per_refresh`` materialized view property to bound how far each base table advances per ``REFRESH MATERIALIZED VIEW``. Defaults to ``0`` (unbounded). Requires Iceberg V3 row lineage; V2 tables fall back to unbounded refresh. - Add ``iceberg.materialized-view-default-max-snapshots-per-refresh`` config property and matching session property to set the default bound. - #27777 (Author: sumi-mathew): fix(security): Upgrade libthrift to address CVE-2026-41604 - Upgrade libthrift 0.23.0 in response to `CVE-2026-41604 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-41604>`_. - #27778 (Author: Chandrakant Vankayalapati): fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY - Fix data correctness bugs in ``MaterializedViewQueryOptimizer`` where queries without ``GROUP BY`` could be incorrectly rewritten to use materialized views with ``GROUP BY``, producing fewer rows than expected. Alias mismatches and scalar expression bypasses allowed invalid rewrites that silently collapsed duplicate rows. - #27790 (Author: Chandrakant Vankayalapati): fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 - Fix TINYINT type mapping to preserve TINYINT semantics instead of incorrectly mapping to BOOLEAN after JDBC driver upgrade. - Fix varchar type mapping for TEXT types to use byte-based thresholds matching the JDBC driver's COLUMN_SIZE reporting. - #27797 (Author: Ben Hu): chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 - Update Google BigQuery Storage API SDK from v1beta1 to v1. - #27803 (Author: Sayari Mukherjee): chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector - Upgrade parquet-jackson to 1.17.1 in response to `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27806 (Author: Timothy Meehan): feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` - Add ``ALTER MATERIALIZED VIEW <name> SET PROPERTIES (...)`` SQL statement to update materialized view properties after creation. :pr:`27806`. - Allow updating ``stale_read_behavior``, ``staleness_window``, and ``refresh_type`` on existing materialized views via ``ALTER MATERIALIZED VIEW ... SET PROPERTIES`` (requires ``legacy_materialized_views=false``). :pr:`27806`. - #27810 (Author: Reetika Agrawal): feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default - Add support for `ALTER TABLE ... ALTER COLUMN ... SET DEFAULT` syntax to update Iceberg column write-default values. - Add support for updating column write-default values using `ALTER TABLE ... SET DEFAULT` (requires Iceberg format version 3+). - Update write-default operations to preserve existing initial-default values as metadata-only changes. - #27816 (Author: Timothy Meehan): fix(plugin-iceberg): Add warnings for stitching and refresh fallback - Add warning when predicate stitching or incremental refresh falls back to full recompute. - #27819 (Author: Sreeni Viswanadha): feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance - Improve PrefilterForLimitingAggregation to use scan limiting instead of timeouts for more predictable performance. The optimization now limits the source scan to 1000 * LIMIT rows before applying DISTINCT LIMIT. - #27820 (Author: Timothy Meehan): feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based - Add `materialized_view_stitching_strategy` and `materialized_view_incremental_refresh_strategy` session properties (values: `ALWAYS`, `NEVER`, `AUTOMATIC`; default: `ALWAYS`). Under `AUTOMATIC`, the optimizer selects between the rewrite and the full alternative based on cost; when stats are unavailable it falls back to row-count comparison. - #27829 (Author: Rebecca Schlussel): chore: Remove old NaN definition and mark config as defunct - Remove configuration property `use-new-nan-definition`. - #27835 (Author: Timothy Meehan): fix(plugin-iceberg): Fix duplicate view creation in Hive catalog - Fix race where concurrent ``REFRESH MATERIALIZED VIEW`` on the same Hive-backed Iceberg materialized view could lose a watermark update. # All Commits - 4f8be7c2dcb7def7c113503da91b6f726b23ab3c fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (#27828) (Nivin C S) - 54cabf9207d654dc8b42ea3c6a2ca3cb4de2f736 chore(ci): Advance velox (#27886) (Amit Dutta) - 39e9ec63aae2bc6342e90d96c3d1f2f5ffe5df79 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (#27865) (sumi-mathew) - e78428e6303bd1aeadf2190daeb2672caf1a9a5b refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (#27873) (Shrinidhi Joshi) - 3ed75c8d7a84328335ed121adba2c03d3d459257 fix(native-pos): Move ShuffleWriter and pool creation inside MaterializedOutputBuffer (#27872) (#27872) (Shrinidhi Joshi) - c3946f3325806101255c996a7b79c473183e068e test: Add end to end tests for string functions (#26950) (Allen Shen) - 869548bd2558d856b37a80762313b237312a9c46 refactor(native): Migrate to PrestoQueryConfig for array_agg.ignore_nulls (#27876) (Maria Basmanova) - 3f8e87638b102a1d3d93a57e9f16e24de28447be fix(native-pos): Add typed units to MaterializedOutputBuffer runtime stats (#27870) (Shrinidhi Joshi) - 86ab4a4a6df0c5984f8add15caaf9fe1a93a7977 refactor(native-pos): Remove cooperative backpressure and `useSystemMemory` config (#27869) (Shrinidhi Joshi) - a31f69f64d856574529ed5a6b104cf8c564f1c32 chore(deps): Update jackson version to 2.18.6 (#27293) (Sayari Mukherjee) - 871f92d45a81c580384681437891908e01506b92 chore: Force modernizer use for all modules up to presto-main-base (#27867) (Zac Blanco) - a51fe41c87a2ff77c7c5297b144288f6e04b4997 test(native-pos): Reduce `kLocalShuffleMaxPartitionBytes` default to 64KB (#27868) (Shrinidhi Joshi) - 4617d4685a9fe2262240dc1c44cda2e1be37d747 feat: Adding Apache Arrow FlightShim for connector federation in C++ workers (#26369) (Bryan Cutler) - 6185c1b22293f3d5c1bd0abed891224426ddb363 chore: Bump webpack-cli from 5.1.4 to 7.0.2 in /presto-ui/src (#27852) (sumi-mathew) - a658c94f2b81f5c7abe400c192deeb84a8346d7a feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based (#27820) (Timothy Meehan) - 46cc03138b034839bc05468be6ad801e4f665cba fix(plugin-iceberg): Fix duplicate view creation in Hive catalog (#27835) (Timothy Meehan) - 3df2afa1769509be19279c9433367ae36c0df300 chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true (#26833) (Yabin Ma) - 381e181176178892dbf73a6422dd2bcafbbfa1c6 chore(deps): Bump jetty from 12.0.29 to 12.0.34 (#27294) (Shahim Sharafudeen) - ee7c8a567ffb3e5cf40a31fcbe5904eb5109265f fix(native): Fix CMake link order for presto_server_lib (#27847) (Tirumala Saiteja Goruganthu) - 679d5342881d1021b9a3d038ebec0cd98bb2b4ac docs: Fix formatting of table in connector/iceberg.rst (#27859) (Steve Burnett) - dc48d4a399b800d20d9cff1c26beaa15720e3b04 chore(ci): Advance velox (#27802) (Amit Dutta) - b22bb99a7f950980c4b1f04a72c373740e5e92dc docs: Fix prestocpp setup config file (#27857) (Reetika Agrawal) - 5608831355838f839b4a428550c50e45ef435360 fix(plugin-iceberg): Disable equality delete as join for DELETE/UPDATE (#27854) (Naveen Mahadevuni) - 71088a83203252340f49fcbfe3e7f9c5832342aa chore(deps): Upgrade protobuf to 4.34.1 (#27844) (bibith4) - 241c94ac60996f5dfeeb85a3e872e3dfd1b5e251 chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector (#27803) (Sayari Mukherjee) - 73aa19fda74895b62ebe545b1e500813d00a258d fix(testing): Fix TPC-H native-execution tests to use the right storage format and standard queries (#27581) (Pramod Satya) - f7c0ab9e2b7230829372cf24b4c640f44be31e5a feat(optimizer): Add per-column predicates for ROW IN/NOT IN (#27708) (Sreeni Viswanadha) - 41a66fc0fe2fd7707fd84062cf075a9a683803b1 fix(native): Allow UTC timezone (key=0) in session config (#27309) (Shakyan Kushwaha) - 77e782ce8de12518155cfb30d472e7f3d75afa21 chore(deps): Upgrade eslint-plugin-react-hooks to version 7.1.1 (#27845) (bibith4) - 7ee85da37a4d09182392b8c05a9e0622e453acfd fix(native): Possible segv in system data source creation (#27807) (Christian Zentgraf) - b7f8f05a286a1f611e48a04babf2cf99b8688507 fix(plugin-iceberg): Add warnings for stitching and refresh fallback (#27816) (Timothy Meehan) - b30db0a9a01ee92673327ec7df909eeee7203cb3 chore(deps): Upgrade datasketches-java to version 6.2.0 (#27839) (Sayari Mukherjee) - be01a17a06c16cb8004736e0b1f2dc5488805300 refactor(planner): Extract shared expression rewriter for MV query optimizer (#27732) (#27732) (Chandrakant Vankayalapati) - 10d55723b93ccd907a1bba2736428271abc53bcf fix: Disallow rewrite_data_files in Iceberg if filter pushdown enabled (#27838) (Dong Wang) - 5aa4abed4085cadd7ef5a0b8f47673486245c9b1 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (#27712) (Sreeni Viswanadha) - 2301c14aa4def417f7766b2d542ce8191d4c2050 fix(ci): Update release notes check to use raw markdown body (#27842) (Rebecca Schlussel) - 917cf4cd78d32ca72ef6b7b45c77c3d44a7b3b26 chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 (#27797) (Ben Hu) - 7faea8429c9b23d67f577f42543796d6a57e0253 feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints (#27486) (Jamille Shao-Ni) - a95cb3ef06310b98b43da290d03fd8c8ee82f35c feat(plugin-iceberg): Push down min/max/count based on file stats (#27085) (Dong Wang) - 92046f2512be60dd0cb2a5f95377629733fd92e0 fix(analyzer): Relax stale view validation for compatible string types (#27776) (Reetika Agrawal) - 6ba9b3a2291d469f384f260451f1b2f776709255 chore(deps): Upgrade commons-logging dependency from 1.3.5 to 1.3.6 (#27811) (Nivin C S) - c6505360c4fb31bc5aabbc4e0e41fe285b638912 feat(plugin-iceberg): Bound MV refresh (#27774) (Timothy Meehan) - d8a2b53fa42fa41ca5025f9d7640c8eebc9ff15b feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance (#27819) (Sreeni Viswanadha) - 6823d9c9b135e6781bc9f4a30c658eb805b6518a chore(deps): Bump webpack-dev-server from 5.2.1 to 5.2.4 in /presto-ui/src (#27840) (dependabot[bot]) - 888991dc8b1a07424aba33f3c8bb440820479f0c chore: Bump commons.codec from 1.17.2 to 1.21.0 (#27756) (sumi-mathew) - 1da69a6e246fdeecc7302e8385b7ec4580e27821 fix(optimizer): Handle RPC functions inside TRY expressions (#27818) (feilong-liu) - 3233fe18835b38c1f7399f97a937bc79f1208dbf chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (#27830) (Rebecca Schlussel) - c11fbf9f5f5415a3e28ea2d677acea27754788ee chore(deps): Upgrading mongodb driver to mongodb driver sync (#27685) (Glerin Pinhero) - 79cc9cb5c5bb586c9bde73c362912eef1b1188db refactor: Remove duplicate check of iceberg v3 validation (#27837) (Reetika Agrawal) - 3161b74a9d8b201487835db397aefe60178fea0d refactor: Add missing getter methods and fix ordering in MetadataManagerStats (#27825) (Reetika Agrawal) - 3332fa796f9724aed783d4f3f5af81578961b336 feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default (#27810) (Reetika Agrawal) - b294d8bf029c78a1afbabf3cae66d1b4f305dafa fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (#27833) (Shrinidhi Joshi) - 0da3bb839ea7085c1dd6ca365627ecc107f50973 feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns (#27598) (Sreeni Viswanadha) - da0f63f907f8993b56e9dddf5eedd100a77022f3 feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` (#27806) (Timothy Meehan) - 9b2559f2138b9e31d5a198b1261d23dee2a15111 chore: Remove old NaN definition and mark config as defunct (#27829) (Rebecca Schlussel) - 34d459d66c03e4a866ee2332a28826c90e105222 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (#25418) (Nivin C S) - f12815ce648cfcfdd3721f4cd54a12e56ecdb4b2 chore(deps): Upgrade openlineage-java to 1.47.1 to fix CVE-2026-40542 (#27812) (Dilli Babu Godari) - fd67186b43f87362df58e8ab1cbe79e7f507ffa1 feat: Wire up IndexSource splits to Spark task sources (#27817) (Zac) - 65547f47ad87d4ccc1e7576d7cc864f717490893 feat(native): Iceberg V3 initialDefaultValue (#27767) (Reetika Agrawal) - c2f37fc3ec49e3455e91afaef31dfb034e617bc8 fix: Enable partition-aware grouped execution for index joins (#27701) (Zac) - 4509fb24ec79df4093a83ffb50e6d688ee0f0854 chore(deps): Upgrade ratis dependencies from 3.1.3 to 3.2.2 (#27787) (Nivin C S) - 1d6737a6624fa048e2db721b905861f9958ee092 fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput (#27765) (Sreeni Viswanadha) - d7f0f924c30e79238d20113afbc2977536ef35b7 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (#27697) (Kevin Tang) - b4ce8d0d82797243153502c17769c0cfde8e6c5c misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (#27696) (Kevin Tang) - 18e730b1da26f301fe7362f514252f370671d623 docs: Fix errors in doc build (#27805) (Steve Burnett) - 81d4bde174f8e7dbdd1c9dbae1ecf3330b16267c feat(client): Add connection validation feature to enhance connection reliability (#27002) (Sayari Mukherjee) - f0d744296a0ba0f3c4031fde5cd9eaa370d1e397 feat(optimizer): Push aggregation through UNION ALL with disjoint group keys (#27764) (Sreeni Viswanadha) - bf30efcd530b9b181ec21672b8140ec0ebf6231a feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (#26260) (Dilli Babu Godari) - 9bacdef43077268ca4abefd24718cfc8caef2b1c perf(native-pos): Fix OOM due to excessive memory usage in BroadcastFileReader (#27798) (Shrinidhi Joshi) - 95db1c86b6098026c48167dfa751393359ebdab5 feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates (#27766) (Timothy Meehan) - 76d8bf2f42476c36e429e7515797f452ca79aef3 fix(plugin-iceberg): Handle deprecated Iceberg write.object-storage.path property (#27758) (Reetika Agrawal) - 52f8f99b36a43d89f448a54b5220ad659fd3a5e0 fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 (#27769) (Shahim Sharafudeen) - 7056bdb10dafdcdd36649535c27e652ab843ebbd feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin (#27748) (Pratik Joseph Dabre) - 21a6092869bf9e7f0832e15879e5a023164b6723 feat(native-pos): Make MaterializedOutputBuffer size configurable with dynamic drain threshold (#27795) (#27795) (Shrinidhi Joshi) - 770df6161cd196d61f9fdedd9595e453ea621a0b fix(native-pos): Add flow control logging to MaterializedOutputBuffer (#27794) (#27794) (Shrinidhi Joshi) - c237df17e5c216ee75913d28f5f9244dca904070 chore(ci): Advance velox (#27786) (Joe Abraham) - 18fec98bdd3485e64d03bc36bcd7c05f96c555c1 chore(deps): Upgrade jest version to 30.3.0 (#27657) (Sayari Mukherjee) - ace806dd47e337d85a74ef814ccae4d530057db1 test: Add end to end test for jaccard_index (#27591) (jkhaliqi) - e2c083acc87b705657c832dbec1c4f66f90825f2 fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 (#27790) (Chandrakant Vankayalapati) - 3449d457efacef3697c832b87d4657522cd9a9d2 chore(deps): Upgrade gson dependencies from 2.12.1 to 2.14.0 (#27779) (Nivin C S) - c45405dfc8cf2017f62e5e27c3c860d9c697cdc8 fix(security): Upgrade libthrift to address CVE-2026-41604 (#27777) (sumi-mathew) - d7c8658c654a27caf28e36caf87dba5e170dbde9 docs: Document optimizer and Iceberg properties (#27775) (Asish Kumar) - 2acd947be65af53ed13f6651aca0586801575e98 fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY (#27778) (Chandrakant Vankayalapati) - bb46550550e257affc78ac7ea111f548acd83239 feat: Add partition-aware grouped execution for bucketed tables (#27663) (feilong-liu) - f65259c38cf23e1e8b1c5942fb57f069c60c5bcf chore(deps): Upgrade React and ReactDOM to version 19.2.4 (#27740) (Sayari Mukherjee) - e1eb82f978ab72e92c79b51b88bb3eb0a152b80c fix: Allow DELETE queries to run on Presto on Spark (#26195) (Gary Helmling) - 8982f133809140a3c94595414b1d82518463e3f8 chore(deps): Upgrade react-simple-code-editor from 0.13.1 to 0.14.1 (#27739) (Sayari Mukherjee) - efaf47f42aa9651a4c818c8f9c1eb5af38f90037 feat(plugin-delta): Support reading tables with column mapping enabled (#27483) (Miguel Blanco Godón) - 7a9a2872c084815393063fed6e80a5b39642200a fix(native-pos): Fix PartitionAndSerialize ROUND_ROBIN sending all rows to partition 0 (#27770) (Shrinidhi Joshi) - ad09e9bd5ac631c82202985f19207e943dbe4290 fix: Load coordinator plugins before standard plugins across bundles (#27729) (Pratik Joseph Dabre) - 426dd7c1b19979788d1300b39d81139620988fcc fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (#27773) (feilong-liu) - 6aed02700ca94defa04d427854e6492119a7ccbe feat(analyzer): Allow HAVING in materialized view query rewrite (#27677) (Timothy Meehan) - f1c7b7d3df6736e46e2ac0651d4b44e18c5e4ea0 chore: Bump commons-dbcp2 from 2.12.0 to 2.14.0 (#27754) (sumi-mathew) - 39513c10a1f0b02195a08f78691b0e4059dace6f chore(deps): Bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /presto-ui/src (#27763) (dependabot[bot]) - 5191b72fb4e7b680c0c36e2e0a5411f251e3b10d fix(plugin-iceberg): Do not check access control for MV data table (#27728) (Timothy Meehan) - 00acf72fa459e525d22c37c6abbfa22a3d401497 chore(deps): Bump SingleStore JDBC client to 1.2.11 (#27759) (Dilli Babu Godari) - d5b68df83e73e7a2269dd90ce6073d9d2ae3a31d chore(deps): Bump Apache Lucene 8.11.3 to 9.12.3 (#27757) (Dilli Babu Godari) - bb26a1ecf9f0badaa655d73a967f5b9426a58a8c test: Add end-to-end tests for numeric_histogram function (#26968) (Allen Shen) - 434758f0738d0cee949ce531b3afb82dd095f43b fix: Honor channels parameter in RestSqlFunctionExecutor (#27684) (Joe Abraham) - c169c153008d9de15f1848a6d80affd8a40e6ead chore(ci): Advance velox (#27716) (Amit Dutta) - 9e8ba1c8cc4b98551ec27935be4b112777b9bb62 fix: Populate session fields when query fails before Session is authenticated (#27752) (Kevin Tang) - a3516e21602fcd7cf5bae8ba24ea022232069f5e fix(ui): Fix timeline legend layout with gaps between colored bars (#27731) (Yihong Wang) - 89ceb1618bd3ba2338c6a7014720e221d4157714 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (#27683) (Henry Dikeman) - 296ee91d3c5bd3b93b898aabca0f29a27ba0878f feat(native-pos): MaterializedOutput: support replicateNullsAndAny (#27753) (Shrinidhi Joshi) - abed99b86b4961672cc569422c30de677377c7a4 chore(deps): Upgrade html-webpack-plugin from 5.6.0 to 5.6.6 (#27737) (Sayari Mukherjee) - d93dc465a9859fadfaa7086d7fac3429edd1aafe fix(deps): Bump presto-spark-classloader-spark3 parent version to 0.298-SNAPSHOT (#27747) (Kevin Tang) - d94276a3e66c25a6b67f243fcb148968b8004b98 feat(connector): Add support for `execute` procedure in JDBC connectors (#27282) (Pratyaksh Sharma) - d7d029abfb2e92c8d0f549863d846d2f38ba17cd chore(deps): Upgrade vis-timeline from 7.7.3 to 8.5.0 (#27721) (Sayari Mukherjee) - c0f9cd4cb13b8d12ab40d67b8d97516776102cf6 fix(security): Upgrade fast-uri from 3.0.6 to 3.1.2 in /presto-ui/src to resolve CVE-2026-6321 (#27736) (nishithakbhaskaran) - c2f09fb5eebdbbb5bef5ac6fc9c38d3ac688bc67 chore(deps): Upgrade @babel/core to version 7.29.0 (#27741) (Sayari Mukherjee) - 1dcec7b47b2d29d931a7d2e38d391bc10b9c68ed chore: Bump com.tdunning:t-digest from 3.2 to 3.3 (#27718) (sumi-mathew) - 4443e880bf4e7317544cb036370f84fd3b9aaf70 chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 (#27722) (dependabot[bot]) - cecd415e63bc8810a8833b4155fe754451c3ce36 fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path (#27714) (feilong-liu) - 09d70672cfab613f4ed12345e517738c6b811e54 chore(deps): Upgrade jQuery from 3.7.1 to 4.0.0 (#27720) (Sayari Mukherjee) - 30776976bfc9d67c1807ed68378f0a00f30da5d2 chore(deps): Upgrade babel-loader:9.1.3 to 10.1.1 (#27656) (Sayari Mukherjee) - b8d7610a7242d0c9f808e82894349ad15da2aed4 feat(native-pos): MaterializeExchange: [1/n] Add MaterializedExchange operators and plan wiring support (#27573) (#27573) (Shrinidhi Joshi) - d3ad72cea746a0e6de1c3d86cab5a7b5e4b947d8 feat: MetadataExtractor: prefetch source table for CREATE VECTOR INDEX (#27713) (XiaoDu) - d9be702264414185ec27deb24571195698185f22 feat: Support extending verifier QueryRewriter (#27703) (#27703) (Gary Helmling) - 669219f6c9ad01f371a44d254523f49382346878 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Arjun Gupta) - 140e5093ae8cf6f096b29ea5def5b1356a844106 chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 (#27715) (nishithakbhaskaran) - 1e1cc916868eb8bae0efc302c0a2a0e0d10b642e fix(analyzer): Skip unmapped derived columns in MV partition filtering (#27706) (Chandrakant Vankayalapati) - e743edc134fca7e6e0013f717a28f7f0f1775973 docs(security): Improve authentication docs (#27692) (Pratyaksh Sharma) - be18151a766a01e0deb227e1830afbf08d9c3ef5 chore(deps): Bump commons-pool2 from 2.11.1 to 2.13.1 (#27648) (sumi-mathew) - a78a231330f9baf756bfcb5691042caeab4ebf9c fix(native): Fix BIND expression loss for captured lambdas in NativeExpressionOptimizer (#27593) (Pramod Satya) - 8d334451742d620e3221993756ac9c665093a5ca fix: Integer overflow in range filter boundary conversion (#27600) (#27600) (peterenescu) - 09de245ab5b7a1a9d010170cc63605d3592b5201 feat(planner): Support scalar functions in MV query rewriting (#27549) (#27549) (Chandrakant Vankayalapati) - ad7acf8059a873c4c5913863941e384b81e6f8d6 fix: Change error tagging from internal error to user error (#27686) (Konjac Huang) - bcb7b22d4ec9aef4c205c02efe3af499460645e8 chore(deps): Bump css-loader from 7.1.2 to 7.1.4 in /presto-ui/src (#27667) (nishithakbhaskaran) - 3aefe857faeb551d84e42e3c60d7581ddb8ac84d feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size (#27700) (feilong-liu) - 3c081e145ba23012e87199ce3a1552088f2424de refactor(native): Clean up the saturate cast of count metric (#27676) (Rui Mo) - 3334738474b994fadc76139b3066af1e45081b57 feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read (#27659) (Reetika Agrawal) - b3aa1274d232cfdc2729cc240e6676096355b11d perf(optimizer): Clean up prefilter distinct limit (#27678) (Sreeni Viswanadha) - decea18211557286b50e2259a11256c0f0146e2f fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) (#27691) (Sergey Pershin) - 2b74be7c29cfc2b69053aad10ae03f6d527e9a7d chore(deps): Bump ts-jest from 29.4.6 to 29.4.9 in /presto-ui/src (#27660) (nishithakbhaskaran) - 46167847b821e2b7a3b1d1ce4c723d1b0d4b5863 feat(connector): Add caching for Lance connector (#27325) (Jianjian Xie) - 0ea6b49d7d237633583cb434dfff0022f273a20b fix: Replace Optional.or with ternary for Java 8 compatibility (#27693) (Kevin Tang) - 298a125e2614b6056cfeaf04f653427487f11a3f chore(deps): Upgrade styled-components version to 6.4.1 (#27675) (bibith4) - 2bc8fc58a8c008f2a906f3fd3204ec738fb12b39 feat(native): Upgrade the nlohman json dependency to 3.12.0 (#27161) (Christian Zentgraf) - 87f92f669805c16d8e44a8962dd372dcb87e72ad perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (#27680) (Sreeni Viswanadha) - 240d1426878f196224228e49b59ff1e272e7d337 docs(security): Add more details in docs (#27681) (Pratyaksh Sharma) - 8319359fd5be8d23955359ff16dfd40b3c6d6a9d docs: Fix phrasing in connector/lance.rst (#27640) (Steve Burnett) - c2abc247f313c7d121e2da8f26d23d057681a5de feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) (#27639) (Chandrakant Vankayalapati) - e4a3b89366187f0ed00584f8e2e1f37a87fe71ad revert: Add metastore cache invalidation in iceberg (#27200) (Pratyaksh Sharma) - 1604b1e62ea0e6d253d9be303b4c0cba9a89ddae fix: Union of TVF leaf operators results in multiple split sources (#26980) (mohsaka) - 9d6e9bafb84f719489b2c7a22ccf309cf690b7b2 feat(plugin-iceberg): Add zorder to rewrite_data_files (#27561) (mohsaka) - 579fbea8171c7595cc1175c493e569735dde8153 feat(optimizer): Add TopN late materialization using $row_id (#27641) (Sreeni Viswanadha) - cdc69ccba481e0f1f5621c63dc93351c3abb5c51 feat: Add TLS/SSL configuration support for Oracle connector (#27671) (Dilli Babu Godari) - e024dd71949156876c6b7e28cbbd437af82731c8 feat: Add Oracle i18n character set support (#27670) (Dilli Babu Godari) - 21c9bc66509630fbbad2583489b8fd448b6f370c feat: Add configurable JDBC fetch size support (#27669) (Dilli Babu Godari) - 03eed7a800d298ab9505ad04e0b6e80531ec6310 fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) (#27645) (Nivin C S) - c7da91bd852cbad929c5af9a317bbeed0848c8ce fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (#27673) (shelton408) - fc6e087f31a4a72c6deee0efdd1c0ff7f5a92e88 feat(plugin-iceberg): Support creating branches on empty tables (#27270) (Dong Wang) - 515241636649b768a06793b9704d6fd3f5f3e003 test: Extend Iceberg schema evolution tests to cover PARQUET format (#27174) (Dong Wang) - 2f81bd37b6f989ee61417c9b90d2c31f5b42eb66 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (#27616) (Apurva Kumar) - 60d7de71f1ec54dffb09d82ed21efa41ee5c3ca8 chore(deps): Upgrade testing-library/user-event version to 14.6.1 (#27623) (bibith4) - f318aaa25583b1450cfde087e0549d648ae5c951 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (#27664) (Sreeni Viswanadha) - 5bda1283378de2869ff5d7de3fa45346361fb4d9 chore(ci): Advance Velox (#27650) (Christian Zentgraf) - 18388dc797444722d9e83215c707851e0d7df208 feat(plugin-iceberg): Add rewrite-all option and default value for min-input-files (#27633) (mohsaka) - fd2a22b4fc5da6dfc7b1465c5ebda56eb254a1dc docs: Add missing authentication and advanced configs for Druid connector (#27611) (Saurabh Mahawar) - d11ffdbfd04aac7384a45ea5a099a4eb6c624120 chore(deps): Upgrade react-data-table-component version to 7.7.1 (#27647) (bibith4) - 39f71665bcdb2483b91ec490aeb25ce0831fcc95 chore(deps): Upgrade testing-library/jest-dom version to 6.9.1 (#27624) (bibith4) - d06018be9004b5d5c9991c2df5bc901534667f0d feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (#27480) (join-theory-de) - 5e21de8354972c88b45b2df56b3ce20829bc5619 chore(deps): Upgrade testing-library/react version to 16.3.2 (#27625) (bibith4) - e2bca0766913e60ffd537b72e7ea4a4dba532748 fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 (#27613) (Shahim Sharafudeen) - 995dbad434ef0ee2faa4edd1710716dfe32f55ec feat(optimizer): Support incremental refresh of materialized views (#26959) (Timothy Meehan) - 993cef3ee9a321a8a507314d03091ced8ac0ab83 feat(connector): Add filter pushdown for Lance connector (#27430) (jja725) - 82889cd61264e0013b6a0113f3d82ca8ab3193e1 fix: Avoid int64 overflow in PlanNodeStatsSummarizer (#27632) (#27632) (Sergey Pershin) - b2569e841d958ee92950c80818c3408308cc3c57 chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests (#27606) (dependabot[bot]) - dae4091c7105d1370544bfcb11baf8f8a79256bc fix(plugin-iceberg): Reduce max history queries to avoid OOM in CI test (#27519) (Dong Wang) - 91e9132db5abcbfb0d7ab2232602784c5f02d5b4 feat(plugin-native-sidecar): Add operational metrics to sidecar (#27595) (Pratik Joseph Dabre) - 4d8da3fa5ec064b13fd658f1fb6802b687ded6de feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) (#27538) (Chandrakant Vankayalapati) - 6f8ecdbd848ee092dc34a162a5073955c840e703 chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 (#27583) (Nandakumar Balagopal) - 09e522f66c0e716d9b150d708a5fa8de4f762554 fix(security): Upgrade gcs version to 2.2.28 (#25424) (Shahim Sharafudeen) - 668ae1086c90f15581549519e49170a5ca864e63 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (#27614) (Apurva Kumar) - ced25b8965b98cf4a1d660ce7108f5bb39539302 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (#27603) (zhichenxu-meta) - bb615b3890dd3fa61b1d8f3bbafbcc8e71e827a8 fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent (#27129) (Miguel Blanco Godón) - dce6efdab414b583632dea0fc20543ae3d8ccd3e fix(plugin-native-sidecar): Pass session start time as a header in native expression optimizer (#27545) (Pratik Joseph Dabre) - 469a6965155e4cf25884c311d4f94d458c034981 feat(native): Add index source plan conversion with connector extensibility (#27596) (#27596) (Zac) - 94a11f78597d12e6246e60ed7c383f597ad90eff chore(deps): Bump org.codehaus.plexus:plexus-utils from 3.6.0 to 3.6.1 (#27471) (Sayari Mukherjee) - 231fd12dcc7025d5724b0cd1ffa25f5a7ce7cdd1 chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 (#27574) (dependabot[bot]) - a8355398f9ad980e2f5ecde9abfac99e18261a76 chore(connector): Upgrade clickhouse-jdbc to 0.3.2 (#26990) (sumi-mathew) - 90910c7fe8f6be850a83aa031d5a93559958116b misc(planner): Move RpcFunctionOptimizer after RewriteRowExpressions (#27594) (feilong-liu) - 86f564b900c8277a463d5ec77dae08c06401f08d fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak (#27597) (Swapnil) - ef8eea0ac3bbba102a98ce7a52992d4d48812124 fix(plugin-native-sidecar): Add additional CAST for mismatching array constructor args (#27556) (Pratik Joseph Dabre) - 47f6dfa53bd3da3ef536aefe45b34263849df9bb chore(deps): Bump follow-redirects from 1.15.9 to 1.16.0 in /presto-ui/src (#27587) (dependabot[bot]) - b4a645ad4413900a6f676b72405b418ae96310b8 feat(native): Distributed Procedure Support (#26375) (Dong Wang) - 177d6ff7f57064e68b02993611bc4240942d1f4c feat(native): Add IndexSourceNode planner support and split scheduling (#27296) (#27296) (Zac) - 7b2e370a1e61304fc5da17b95186f729a6cd0f0b feat: Reject duplicate columns in CREATE VECTOR INDEX (#27588) (Ke Wang) - b2dfddc52733ce66aa7fec66a06d6c8c8d968bec feat: Validate embedding column type in CREATE VECTOR INDEX (#27589) (Ke Wang) - 3c36e504600c80364a59f6cb2bdaae004eb1e9b9 refactor(plugin-iceberg): Defer the start of transaction for procedure (#27586) (Dong Wang) - 4b775d743ef52b107d04e40b733e244827c709b9 chore(ci): Advance Velox (#27503) (Christian Zentgraf) - a82063a0985dc1b54777c6e6354cd5999f4b396d fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin (#27568) (Sreeni Viswanadha) - a2dc569e6cc6b04c4a1012ea5e9fc648b36c0110 fix(plugin-druid): Add version for lz4-java to fix maven deployment (#27584) (Li) - 0d7cd9501a0ab75df5dd2b6aac848c7978f0ad75 fix(native): Fix TRY expression handling in NativeExpressionOptimizer (#27122) (Pramod Satya) - 5d26fb35bc7f78419156cda64a6f238e92099016 misc: Fix code style issues, copy-paste bug, and UB in presto-native-execution (#27572) (#27572) (Amit Dutta) - 31f7f3c5b6165c118c58db88d12aae9d54b34d83 fix(native): Handle NULL ROWs when returning from native expression optimizer (#27528) (Pratik Joseph Dabre) - 459286a0f0c4ff972e876d5c3d45327fb8499444 fix(native): Fix worker shutdown sequence (#27566) (#27566) (Sergey Pershin) - 5bd6ca88673ba2c6b44ec3370d0fd464ab923270 fix: Remove duplicate checkQueryIntegrity call in CreateMaterializedViewTask (#27567) (Kevin Tang) - 913a4285a2817555b70e84f11d82fdb33484d9a7 feat(optimizer): Rewrite bucketed semi-join to join (#27510) (Sreeni Viswanadha) - 09400b98c7a46925210ad09ade111536422ed1a6 feat: Add pmod (positive modulo) scalar function (#27543) (#27543) (Natasha Sehgal) - dd6606c9d786099e0fb58b232e19654adad25a9c feat(plugin-iceberg): Add min-input-files, min-file-size-bytes, max-file-size-bytes options to rewrite_data_files procedure (#27515) (mohsaka) - 23e35ab6993d62e97f9f180802ac7c55df627ee8 docs: Fix formatting of code blocks in develop/table-functions.rst (#27502) (Steve Burnett) - a4f8f58ef4d84c1847b52b30a2643257f0951bca fix(plugin-native-sidecar): Fix flattened AND/OR expressions by the native expression optimizer (#27517) (Pratik Joseph Dabre) - 4c72d5cc1ed99ab1acd13ae92f94d31ef2336637 test: Add e2e tests for binary functions (#26970) (Allen Shen) - 4b6d9c9e9f88df699308549064615fada467cca5 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (#27525) (Henry Dikeman) - b25bb12435d53d6aaa1b3460c86db908e8983fc3 feat(native): Add Java planner integration, protocol, and dynamic RPC function detection (#27555) (abhinavmuk04) - 62d690b279c0899bc5105f5412ef74a240b96c2e fix(build): Use explicit optional constructor (#27513) (Christian Zentgraf) - cc294de45fb8deea40dabf1bbe85321a7dedfdd4 fix(native): Do not discard all tasks in maybeStartNextQueuedTask() (#27548) (#27548) (Sergey Pershin) - 151c3373b1998f0e006a0dec439142d7733c36bc perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup (#27553) (feilong-liu) - 05f8e4404f117c66c1eebd40d1be364ddfe702c3 perf(planner): Optimize query planning for wide-column projections (#27547) (feilong-liu) - a3a1d3cdc1d556985f314de0af35a30e1adad0d3 test: Add E2E tests for geo functions (#26969) (jkhaliqi) - 6af43bb021706dbaabb55dbff151cf22aaac6bbb feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis (#27504) (Kevin Tang) - d488205f1fdedddee6a537e25b704799d3b5e5b8 chore: Update error message in Iceberg table row deletions (#27495) (nishithakbhaskaran) - ed41ee81e2377d1944f7ae47f1512f7833549730 feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning (#27500) (Sreeni Viswanadha) - b9b15ae4a8b639f4f926695c7e0694d8cf2010de fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch (#27493) (Sreeni Viswanadha) - dd82b57d2da28e7297b4ef99534da7a74eff6d4f feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) (#27491) (Sreeni Viswanadha) - 65cf3e94214284946710cc21fc7330c0c56e41db chore(deps): Upgrade testing-library/dom version to 10.4.1 (#27520) (bibith4) - 40c1c4e2101ec359770f45c5c15f183add900a5a docs(native): Add missing native session properties (#27506) (Saurabh Mahawar) - 0b313de489c0ed1b19a1543bab9f23cdb027db2c feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values (#27357) (Prashant Sharma) - 1968770e91a1206aaa176148f60b11f7e8178364 test(native): Add E2E tests for array functions (#26937) (jkhaliqi) - a92fa12dd45173cf54dee0089887810a9f585fba feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (#27421) (Apurva Kumar) - 7f76c833f5551a8fa4e9e86090c5f3fa135da829 docs(optimizer): Add more details to the materialized view documentation (#27465) (bibith4) - 175143b4bf9d0fe5e8246cedbf38614d1c3e113a chore(deps): Upgrade commons-text version to 1.15.0 (#27494) (bibith4) - 29ed629bf60c4a508a4a1d1a5c3e730a53491f05 fix: Use namespaced GTest targets in arrow_flight tests (#27137) (jkhaliqi) - 291f2048f3bf3b5afe275f0589d547eac3f687a9 feat: Add exchange transport type (HTTP/ANY) to plan fragments (#27355) (Daniel Bauer) - ee0eec7b5b12aef7feb1ea6d6dd7411387003caa feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) (#27422) (Chandrakant Vankayalapati) - 7655f36483b5074d0394bc1a34ae48c25612b872 feat: Add read support for row lineage columns in Iceberg connector (#27240) (Joe Abraham) - 2af1e04aad8d28b7b806f44905abeb7812cc3354 feat: Remove index table existence check (#27509) (#27509) (Ke Wang) - 74a3458ab835a8af25aa40f458ac16c0d598a94d feat: Add observability for query state transitions in Presto (#26418) (#26418) (abhinavmuk04) - fc3669795814668bd1d90da27bc72ed51ee81eb8 misc: Show stage completion state in query plan (#27388) (#27388) (feilong-liu) - 232429917efbbbf3c7d30a3c62f7996fc5b3126f feat(planner): Extract remote functions from $internal$try lambda in PlanRemoteProjections (#27451) (feilong-liu) - 28bb9006e70e7bdfaa1141ee7797e208934a6491 feat: Add number of total driver threads (#27501) (#27501) (XiaoDu) - 926e2cdad1cb715542272f634458c9524dff32ea fix: Revised the principal field retrieval (#27014) (Yihong Wang) - cc4ec4a173679cfbd8e36893907435e88b5e0bd0 fix: Allow view querying with Mongo connector (#26995) (Auden Woolfson) - 52ad58aae1ec9744161af78416b0274fd90de2bb feat(connector): Add Azure Blob Storage and ADLS Gen2 support (#25107) (Deepak Mehra) - ec92f2a3ad06bca5375e28b74e1b35eea78be658 chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src (#27497) (dependabot[bot]) - c1603bd2a9b5e37617d96597ba11a7e22007de79 feat: Add MergeSumsToVectorSum optimizer rule (#27335) (#27335) (abhinavmuk04) - cd6ee833414c1bc9e9c910637bcd3eaa7e1e53b0 test(native): Enable cuDF in native tests (#27369) (Pramod Satya) - aae3971105e4fa3680e37cf3f392fb04b0b071c2 chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src (#27496) (dependabot[bot]) - 27edc1b7354bcf762025fdfa30465706285260ad docs: Add missing doc for ldap.cache-ttl (#27477) (Saurabh Mahawar) - b051f496dfbd697f4e0cf5c51fdac10c53976531 misc: Use folly FunctionScheduler from folly/executors (#27482) (Amit Dutta) ## Release Notes ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Document the 0.298 Presto release, including its features, fixes, and other notable changes in a new release notes page. --------- Co-authored-by: Steve Burnett <burnett@pobox.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Zac Blanco <zachary.blanco@bytedance.com> Co-authored-by: Timothy Meehan <tim@timdmeehan.com>
Description
Upgrades
dep.jackson.versionfrom2.15.4to2.18.6to remediate GHSA-72hv-8253-57qq.Test Failures Fixed
The upgrade exposed pre-existing issues in Presto's ObjectMapper usage that 2.15.4 happened to tolerate. Each fix below is a direct response to an actual CI failure with a concrete stack trace.
Failure 1 — TestPrestoSparkStatsCalculator
and
failed testcase :
presto-spark-base/src/test/java/com/facebook/presto/spark/planner/TestPrestoSparkStatsCalculator.javaRoot cause:
The ObjectMapper used in HistoryBasedPlanStatisticsManager (created via objectMapper.copy()) lacked Jdk8Module registration, leaving CachingPlanCanonicalInfoProvider unable to serialize Optional fields.
HistoryBasedPlanStatisticsManagerhas a single commit since creation, meaningJdk8Modulewas never explicitly registered.Fix:
.registerModule(new Jdk8Module())afterobjectMapper.copy()Failure 2 — TestDriver
Root cause:
TestDriverpasses a barenew ObjectMapper()directly tocreateFragmentResultCacheContext(), bypassingHistoryBasedPlanStatisticsManagerentirely. WithoutJdk8Module, serialization fails silently,createFragmentResultCacheContext()returnsOptional.empty(), and.get()in the static initializer throwsNoSuchElementExceptionpreventing theentire test class from loading.
Fix:
registerModule(new Jdk8Module())+FAIL_ON_SELF_REFERENCES=falsemaxNestingDepth(2000)+BlockMixInon the bareObjectMapperFailure 3 — LocalQueryRunner / LocalExecutionPlanner
Root cause:
Block.getLoadedBlock()returnsBlockitself a circularreference. Confirmed in source:presto-common/.../block/Block.java:378
default Block getLoadedBlock()← returns thisAdditionally
ValueSet.getDiscreteValues()throwsUnsupportedOperationExceptionand
Range.getSingleValue()throwsIllegalStateExceptionwhen serialized:presto-common/.../predicate/ValueSet.java:114throw new UnsupportedOperationException();and
presto-common/.../predicate/Range.java:166throw new IllegalStateException("Range does not have just a single value");Jackson 2.18.6's stricter error handling exposes these pre-existing issues when attempting to serialize getter methods that throw exceptions or create circular references.
Fix:
FAIL_ON_SELF_REFERENCES=false+@JsonIgnoreMixIns onBlock,Slice,ValueSet,SortedRangeSet,Range,Domain+maxNestingDepth(2000)for complex Presto plan structuresFailure 4 — TaskTestUtils / TestSqlTaskManager
Root cause: Same
Block.getLoadedBlock()circular reference. Both files pass barenew ObjectMapper()toSqlTaskManager.Fix:
configureObjectMapper()helper withBlockMixIn+FAIL_ON_SELF_REFERENCES=false+maxNestingDepth(2000)Failure 5 — TestIcebergSystemTablesNessieWithBearerAuth
Root cause: Nessie client 0.103.0 is incompatible with Jackson 2.18.6 , HTTP error responses fail to deserialize, returning
nullinstead of a properNessieErrorobject.Fix: Bump Nessie
0.103.0 → 0.105.0which adds Jackson 2.18.6compatibility. Test updated to accept both error patterns during the transition window.Motivation and Context
Impact
Test Plan
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.
Summary by Sourcery
Upgrade Jackson to 2.18.6 and adjust Presto’s JSON serialization configuration and related dependencies to remain compatible with the stricter behavior.
Bug Fixes:
Enhancements:
Build:
Tests: