From 124f43b640ebea646eebe216047dfae89f10d3a1 Mon Sep 17 00:00:00 2001
From: opensearch-ci <opensearch-infra@amazon.com>
Date: Sat, 4 Apr 2026 04:29:20 +0000
Subject: [PATCH 1/2] Add release notes for 3.6.0

Signed-off-by: opensearch-ci <opensearch-infra@amazon.com>
---
 .../opensearch-sql.release-notes-3.6.0.0.md   | 46 +++++++++----------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/release-notes/opensearch-sql.release-notes-3.6.0.0.md b/release-notes/opensearch-sql.release-notes-3.6.0.0.md
index 05d1ba60378..e79ec863adf 100644
--- a/release-notes/opensearch-sql.release-notes-3.6.0.0.md
+++ b/release-notes/opensearch-sql.release-notes-3.6.0.0.md
@@ -4,42 +4,42 @@ Compatible with OpenSearch and OpenSearch Dashboards version 3.6.0
 
 ### Features
 
-* Support bi-directional graph traversal command `graphlookup` ([#5138](https://github.com/opensearch-project/sql/pull/5138))
-* Support `graphlookup` with literal value as its start, enabling top-level PPL command usage without `source=` ([#5253](https://github.com/opensearch-project/sql/pull/5253))
+* Add Calcite native SQL planning path in UnifiedQueryPlanner for ANSI SQL queries ([#5257](https://github.com/opensearch-project/sql/pull/5257))
+* Support bi-directional graph traversal command `graphlookup` with BFS algorithm ([#5138](https://github.com/opensearch-project/sql/pull/5138))
+* Support `graphlookup` with literal values as start for top-level PPL queries without requiring `source=` ([#5253](https://github.com/opensearch-project/sql/pull/5253))
+* Change `graphlookup` struct output format from list to map to preserve column name information ([#5227](https://github.com/opensearch-project/sql/pull/5227))
+* Fix UDT type loss through UNION in multisearch by preserving types in `leastRestrictive()` ([#5154](https://github.com/opensearch-project/sql/pull/5154))
 * Add `mvexpand` command to expand multivalue fields into separate rows with optional limit parameter ([#5144](https://github.com/opensearch-project/sql/pull/5144))
+* Add PPL search result highlighting via the `highlight` API parameter with support for simple and rich formats ([#5234](https://github.com/opensearch-project/sql/pull/5234))
+* Add grammar bundle generation API for PPL autocomplete support in OpenSearch Dashboards ([#5162](https://github.com/opensearch-project/sql/pull/5162))
 * Add `fieldformat` command to set display format of field values using eval expressions ([#5080](https://github.com/opensearch-project/sql/pull/5080))
-* Implement PPL `convert` command with 5 conversion functions: auto, num, rmcomma, rmunit, none ([#5157](https://github.com/opensearch-project/sql/pull/5157))
-* Add grammar bundle generation API for PPL language features to support client-side autocomplete ([#5162](https://github.com/opensearch-project/sql/pull/5162))
-* Add PPL search result highlighting via the `highlight` API parameter with support for simple and rich OpenSearch Dashboards formats ([#5234](https://github.com/opensearch-project/sql/pull/5234))
-* Change `graphlookup` output format from list to map to preserve column name information in struct results ([#5227](https://github.com/opensearch-project/sql/pull/5227))
-* Fix multisearch UDT type loss through UNION by preserving UDT types in `leastRestrictive()` ([#5154](https://github.com/opensearch-project/sql/pull/5154))
+* Implement PPL `convert` command with five conversion functions: auto, num, rmcomma, rmunit, and none ([#5157](https://github.com/opensearch-project/sql/pull/5157))
 
 ### Enhancements
 
-* Add Calcite native SQL planning path in `UnifiedQueryPlanner` using Calcite's parser pipeline ([#5257](https://github.com/opensearch-project/sql/pull/5257))
 * Add auto-extract mode for `spath` command returning flattened key-value map when path is omitted ([#5140](https://github.com/opensearch-project/sql/pull/5140))
 * Add `nomv` command to convert multivalue fields into single values delimited by newline ([#5130](https://github.com/opensearch-project/sql/pull/5130))
 * Add query cancellation support via `_tasks/_cancel` API for PPL queries ([#5254](https://github.com/opensearch-project/sql/pull/5254))
-* Optimize `reverse` command performance by eliminating expensive ROW_NUMBER() window function with context-aware three-tier logic ([#4775](https://github.com/opensearch-project/sql/pull/4775))
+* Optimize `reverse` command performance by eliminating ROW_NUMBER() window function with context-aware three-tier logic ([#4775](https://github.com/opensearch-project/sql/pull/4775))
 * Improve resource monitor error messages to include memory usage details and configuration guidance ([#5129](https://github.com/opensearch-project/sql/pull/5129))
-* Support `LAST`/`FIRST`/`TAKE` aggregations on TEXT type, script pushdown, alias handling, and LIMIT pushdown to TopHits ([#5091](https://github.com/opensearch-project/sql/pull/5091))
-* Update `graphlookup` syntax to support directional edge notation (`-->` and `<->`) ([#5209](https://github.com/opensearch-project/sql/pull/5209))
-* Support creating and updating Prometheus rules and Alertmanager silences via direct query resources API ([#5228](https://github.com/opensearch-project/sql/pull/5228))
-* Add `contains` operator to PPL `where` clauses for case-insensitive substring matching ([#5219](https://github.com/opensearch-project/sql/pull/5219))
-* Bump ANTLR version from 4.7.1 to 4.13.2 across all modules ([#5159](https://github.com/opensearch-project/sql/pull/5159))
-* Support PPL queries with trailing pipes and empty pipes in command sequences ([#5161](https://github.com/opensearch-project/sql/pull/5161))
-* Make SQL plugin aware of FIPS build parameter for proper BouncyCastle dependency scoping ([#5155](https://github.com/opensearch-project/sql/pull/5155))
+* Support `LAST`, `FIRST`, and `TAKE` aggregations on TEXT type and script expressions with LIMIT pushdown to TopHits ([#5091](https://github.com/opensearch-project/sql/pull/5091))
+* Make SQL plugin aware of FIPS-140-3 build parameter for BouncyCastle dependency management ([#5155](https://github.com/opensearch-project/sql/pull/5155))
+* Support PPL queries with trailing pipes and empty pipes for more forgiving syntax ([#5161](https://github.com/opensearch-project/sql/pull/5161))
+* Support creating and updating Prometheus recording and alerting rules via direct query resources API ([#5228](https://github.com/opensearch-project/sql/pull/5228))
+* Update `graphlookup` syntax to support directional edge operators (`-->` and `<->`) ([#5209](https://github.com/opensearch-project/sql/pull/5209))
+* Add CloudWatch-style `contains` operator for case-insensitive substring matching in PPL where clauses ([#5219](https://github.com/opensearch-project/sql/pull/5219))
+* Bump ANTLR version from 4.7.1 to 4.13.2 across all modules for ATN serialization v4 support ([#5159](https://github.com/opensearch-project/sql/pull/5159))
 
 ### Bug Fixes
 
-* Preserve head/TopK semantics for sort-expression pushdown to prevent returning more rows than requested ([#5135](https://github.com/opensearch-project/sql/pull/5135))
+* Preserve `head`/TopK semantics during sort-expression pushdown to prevent returning more rows than requested ([#5135](https://github.com/opensearch-project/sql/pull/5135))
 * Return null instead of error for double overflow to Infinity in arithmetic operations ([#5202](https://github.com/opensearch-project/sql/pull/5202))
 * Return actual null from `JSON_EXTRACT` for missing or null paths instead of the string "null" ([#5196](https://github.com/opensearch-project/sql/pull/5196))
 * Fix MAP path resolution for `top/rare`, `join`, `lookup`, and `streamstats` commands ([#5206](https://github.com/opensearch-project/sql/pull/5206))
 * Fix MAP path resolution for symbol-based PPL commands by pre-materializing dotted paths ([#5198](https://github.com/opensearch-project/sql/pull/5198))
 * Fix PIT (Point in Time) resource leaks in v2 query engine for explain, early close, and cursor close scenarios ([#5221](https://github.com/opensearch-project/sql/pull/5221))
 * Fix fallback error handling to show original Calcite error instead of V2's generic message ([#5133](https://github.com/opensearch-project/sql/pull/5133))
-* Fix memory leak caused by `ExecutionEngine` recreated per query appending to global function registry ([#5222](https://github.com/opensearch-project/sql/pull/5222))
+* Fix memory leak caused by ExecutionEngine recreated per query appending to global function registry ([#5222](https://github.com/opensearch-project/sql/pull/5222))
 * Fix path navigation on map columns for `spath` command by removing unconditional alias wrapping ([#5149](https://github.com/opensearch-project/sql/pull/5149))
 * Fix pitest dependency resolution by decoupling plugin version from runtime version ([#5143](https://github.com/opensearch-project/sql/pull/5143))
 * Fix typo: rename `renameClasue` to `renameClause` in ANTLR grammar files ([#5252](https://github.com/opensearch-project/sql/pull/5252))
@@ -47,12 +47,12 @@ Compatible with OpenSearch and OpenSearch Dashboards version 3.6.0
 
 ### Infrastructure
 
-* Add `gradle.properties` file to build SQL with FIPS-140-3 crypto standard by default ([#5231](https://github.com/opensearch-project/sql/pull/5231))
+* Add `gradle.properties` file to build SQL plugin with FIPS-140-3 crypto standard by default ([#5231](https://github.com/opensearch-project/sql/pull/5231))
 
 ### Maintenance
 
-* Add ahkcs as maintainer ([#5223](https://github.com/opensearch-project/sql/pull/5223))
-* Add songkant-aws as maintainer ([#5244](https://github.com/opensearch-project/sql/pull/5244))
-* Revert dynamic column support for `spath` command in preparation for map-based extract-all mode ([#5139](https://github.com/opensearch-project/sql/pull/5139))
-* Fix bc-fips jar hell by marking dependency as compileOnly since OpenSearch core now provides it by default ([#5158](https://github.com/opensearch-project/sql/pull/5158))
+* Add ahkcs (Kai Huang) as maintainer ([#5223](https://github.com/opensearch-project/sql/pull/5223))
+* Add songkant-aws (SongKan Tang) as maintainer ([#5244](https://github.com/opensearch-project/sql/pull/5244))
+* Revert dynamic column support for `spath` command in preparation for map-based extract-all redesign ([#5139](https://github.com/opensearch-project/sql/pull/5139))
+* Fix bc-fips jar hell by marking BouncyCastle dependency as compileOnly ([#5158](https://github.com/opensearch-project/sql/pull/5158))
 * Add CLAUDE.md with project overview, build commands, architecture, and development guidelines ([#5259](https://github.com/opensearch-project/sql/pull/5259))

From 4d7867191d1ee96dfe413e796da0d430188ad7a1 Mon Sep 17 00:00:00 2001
From: Peter Zhu <zhujiaxi@amazon.com>
Date: Sat, 4 Apr 2026 00:30:43 -0400
Subject: [PATCH 2/2] Delete
 release-notes/opensearch-sql.release-notes-3.6.0.0.md

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>
---
 .../opensearch-sql.release-notes-3.6.0.0.md   | 58 -------------------
 1 file changed, 58 deletions(-)
 delete mode 100644 release-notes/opensearch-sql.release-notes-3.6.0.0.md

diff --git a/release-notes/opensearch-sql.release-notes-3.6.0.0.md b/release-notes/opensearch-sql.release-notes-3.6.0.0.md
deleted file mode 100644
index e79ec863adf..00000000000
--- a/release-notes/opensearch-sql.release-notes-3.6.0.0.md
+++ /dev/null
@@ -1,58 +0,0 @@
-## Version 3.6.0 Release Notes
-
-Compatible with OpenSearch and OpenSearch Dashboards version 3.6.0
-
-### Features
-
-* Add Calcite native SQL planning path in UnifiedQueryPlanner for ANSI SQL queries ([#5257](https://github.com/opensearch-project/sql/pull/5257))
-* Support bi-directional graph traversal command `graphlookup` with BFS algorithm ([#5138](https://github.com/opensearch-project/sql/pull/5138))
-* Support `graphlookup` with literal values as start for top-level PPL queries without requiring `source=` ([#5253](https://github.com/opensearch-project/sql/pull/5253))
-* Change `graphlookup` struct output format from list to map to preserve column name information ([#5227](https://github.com/opensearch-project/sql/pull/5227))
-* Fix UDT type loss through UNION in multisearch by preserving types in `leastRestrictive()` ([#5154](https://github.com/opensearch-project/sql/pull/5154))
-* Add `mvexpand` command to expand multivalue fields into separate rows with optional limit parameter ([#5144](https://github.com/opensearch-project/sql/pull/5144))
-* Add PPL search result highlighting via the `highlight` API parameter with support for simple and rich formats ([#5234](https://github.com/opensearch-project/sql/pull/5234))
-* Add grammar bundle generation API for PPL autocomplete support in OpenSearch Dashboards ([#5162](https://github.com/opensearch-project/sql/pull/5162))
-* Add `fieldformat` command to set display format of field values using eval expressions ([#5080](https://github.com/opensearch-project/sql/pull/5080))
-* Implement PPL `convert` command with five conversion functions: auto, num, rmcomma, rmunit, and none ([#5157](https://github.com/opensearch-project/sql/pull/5157))
-
-### Enhancements
-
-* Add auto-extract mode for `spath` command returning flattened key-value map when path is omitted ([#5140](https://github.com/opensearch-project/sql/pull/5140))
-* Add `nomv` command to convert multivalue fields into single values delimited by newline ([#5130](https://github.com/opensearch-project/sql/pull/5130))
-* Add query cancellation support via `_tasks/_cancel` API for PPL queries ([#5254](https://github.com/opensearch-project/sql/pull/5254))
-* Optimize `reverse` command performance by eliminating ROW_NUMBER() window function with context-aware three-tier logic ([#4775](https://github.com/opensearch-project/sql/pull/4775))
-* Improve resource monitor error messages to include memory usage details and configuration guidance ([#5129](https://github.com/opensearch-project/sql/pull/5129))
-* Support `LAST`, `FIRST`, and `TAKE` aggregations on TEXT type and script expressions with LIMIT pushdown to TopHits ([#5091](https://github.com/opensearch-project/sql/pull/5091))
-* Make SQL plugin aware of FIPS-140-3 build parameter for BouncyCastle dependency management ([#5155](https://github.com/opensearch-project/sql/pull/5155))
-* Support PPL queries with trailing pipes and empty pipes for more forgiving syntax ([#5161](https://github.com/opensearch-project/sql/pull/5161))
-* Support creating and updating Prometheus recording and alerting rules via direct query resources API ([#5228](https://github.com/opensearch-project/sql/pull/5228))
-* Update `graphlookup` syntax to support directional edge operators (`-->` and `<->`) ([#5209](https://github.com/opensearch-project/sql/pull/5209))
-* Add CloudWatch-style `contains` operator for case-insensitive substring matching in PPL where clauses ([#5219](https://github.com/opensearch-project/sql/pull/5219))
-* Bump ANTLR version from 4.7.1 to 4.13.2 across all modules for ATN serialization v4 support ([#5159](https://github.com/opensearch-project/sql/pull/5159))
-
-### Bug Fixes
-
-* Preserve `head`/TopK semantics during sort-expression pushdown to prevent returning more rows than requested ([#5135](https://github.com/opensearch-project/sql/pull/5135))
-* Return null instead of error for double overflow to Infinity in arithmetic operations ([#5202](https://github.com/opensearch-project/sql/pull/5202))
-* Return actual null from `JSON_EXTRACT` for missing or null paths instead of the string "null" ([#5196](https://github.com/opensearch-project/sql/pull/5196))
-* Fix MAP path resolution for `top/rare`, `join`, `lookup`, and `streamstats` commands ([#5206](https://github.com/opensearch-project/sql/pull/5206))
-* Fix MAP path resolution for symbol-based PPL commands by pre-materializing dotted paths ([#5198](https://github.com/opensearch-project/sql/pull/5198))
-* Fix PIT (Point in Time) resource leaks in v2 query engine for explain, early close, and cursor close scenarios ([#5221](https://github.com/opensearch-project/sql/pull/5221))
-* Fix fallback error handling to show original Calcite error instead of V2's generic message ([#5133](https://github.com/opensearch-project/sql/pull/5133))
-* Fix memory leak caused by ExecutionEngine recreated per query appending to global function registry ([#5222](https://github.com/opensearch-project/sql/pull/5222))
-* Fix path navigation on map columns for `spath` command by removing unconditional alias wrapping ([#5149](https://github.com/opensearch-project/sql/pull/5149))
-* Fix pitest dependency resolution by decoupling plugin version from runtime version ([#5143](https://github.com/opensearch-project/sql/pull/5143))
-* Fix typo: rename `renameClasue` to `renameClause` in ANTLR grammar files ([#5252](https://github.com/opensearch-project/sql/pull/5252))
-* Fix `isnotnull()` not being pushed down when combined with multiple `!=` conditions ([#5238](https://github.com/opensearch-project/sql/pull/5238))
-
-### Infrastructure
-
-* Add `gradle.properties` file to build SQL plugin with FIPS-140-3 crypto standard by default ([#5231](https://github.com/opensearch-project/sql/pull/5231))
-
-### Maintenance
-
-* Add ahkcs (Kai Huang) as maintainer ([#5223](https://github.com/opensearch-project/sql/pull/5223))
-* Add songkant-aws (SongKan Tang) as maintainer ([#5244](https://github.com/opensearch-project/sql/pull/5244))
-* Revert dynamic column support for `spath` command in preparation for map-based extract-all redesign ([#5139](https://github.com/opensearch-project/sql/pull/5139))
-* Fix bc-fips jar hell by marking BouncyCastle dependency as compileOnly ([#5158](https://github.com/opensearch-project/sql/pull/5158))
-* Add CLAUDE.md with project overview, build commands, architecture, and development guidelines ([#5259](https://github.com/opensearch-project/sql/pull/5259))
