)]}'
{
  "log": [
    {
      "commit": "6d6a1afae359a3b033d747c8d56dc2fc45481da2",
      "tree": "d687d1d6e830a052af41d4e6ac97eab4bdc59641",
      "parents": [
        "74c9638ef63c611eea86671201fdd2384a2e62ab"
      ],
      "author": {
        "name": "Joey",
        "email": "joey.ljy@alibaba-inc.com",
        "time": "Thu May 07 07:50:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 06 16:50:29 2026 -0700"
      },
      "message": "[GLUTEN-1433][VL] Fix TimestampNTZ schema validation (#12029)"
    },
    {
      "commit": "74c9638ef63c611eea86671201fdd2384a2e62ab",
      "tree": "938b49ede9471cd5ee3fec52f745f09c562d5b0f",
      "parents": [
        "ffbb64770d19c42f676d1ebb33b1747486d21a36"
      ],
      "author": {
        "name": "zhanglistar",
        "email": "zhanglinuxstar@gmail.com",
        "time": "Thu May 07 07:18:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 07:18:30 2026 +0800"
      },
      "message": "[GLUTEN-12044][CH] Fix build on arm (#12046)\n\n[GLUTEN-12044][CH] Fix build on arm"
    },
    {
      "commit": "ffbb64770d19c42f676d1ebb33b1747486d21a36",
      "tree": "14c2d67fb552064665dc0d94cdd1de5aedb9528f",
      "parents": [
        "1c4a27ef32ea768c1024a33fb163595ef1656aee"
      ],
      "author": {
        "name": "inf",
        "email": "ialhazmim@gmail.com",
        "time": "Tue May 05 19:52:13 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 09:52:13 2026 -0700"
      },
      "message": "[MINOR] Ignore .idea/vcs.xml from git tracking (#12041)"
    },
    {
      "commit": "1c4a27ef32ea768c1024a33fb163595ef1656aee",
      "tree": "932fefb712b4c9edbe7c33231143e9cae9701f8a",
      "parents": [
        "dd167148274a41984860ae36e3a1e3b37cf8ddef"
      ],
      "author": {
        "name": "Philo He",
        "email": "philohe@amazon.com",
        "time": "Tue May 05 09:30:49 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 09:30:49 2026 -0700"
      },
      "message": "[MINOR][VL] Improve validation log messages for aggregate function signature binding (#12031)"
    },
    {
      "commit": "dd167148274a41984860ae36e3a1e3b37cf8ddef",
      "tree": "d5339eeaf848597893cabfd8ede16f774d6de768",
      "parents": [
        "b22975d2b5d875871da42647f94ccc64b5c952dc"
      ],
      "author": {
        "name": "Mohammad Linjawi",
        "email": "linjawi.mohammad@gmail.com",
        "time": "Tue May 05 17:29:23 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 15:29:23 2026 +0100"
      },
      "message": "[VL][Delta] Add roaring bitmap facilities for Delta DV support (#12001)\n\nThis PR is the first step in the split Delta deletion-vector (DV) stack.\n\nIt introduces the native roaring bitmap facilities that later PRs use for Delta DV payload handling, without adding Delta scan integration yet.\n\nMain changes:\n\nadd FindRoaring.cmake to discover CRoaring from an existing Velox build, pkg-config, or FetchContent\nwire roaring into the native Velox build\nadd gluten::delta::RoaringBitmapArray, a small 64-bit roaring bitmap wrapper for Delta DV payloads\nuse the same payload shape expected by the later native DV reader:\n4-byte magic number\nCRoaring portable Roaring64Map serialization\nadd focused native unit coverage for:\nserialization / deserialization round-trip\ninvalid magic-number rejection\nThis PR is intentionally infrastructure-only:\n\nno Delta scan offload behavior changes yet\nno JVM-side Delta scan integration yet\nThose pieces will be added in follow-up stacked PRs.\n\nissue #11901\n\nCo-authored-by: Mohammad Linjawi \u003cMohammad.Linjawi@ibm.com\u003e"
    },
    {
      "commit": "b22975d2b5d875871da42647f94ccc64b5c952dc",
      "tree": "42ebd422afaef8e3c0b98ea6fecd130dea69e9f4",
      "parents": [
        "feb8278c913d6d2ee3f0ee3513e4e064c0d28937"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Tue May 05 15:11:31 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 15:11:31 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_05_02) (#12023)\n\nUpstream Velox\u0027s New Commits:\nc3aee8549 by Simon Eves, feat(cudf): Add unit tests for CUDF string functions (#16825)\n1d1345022 by Shobhit Mehta, feat(dwio): Expose row selection from projectColumns (#17379)\nf3c9bf081 by Anish Aggarwal, fix(exec): Avoid LOG(ERROR) noise from Task::terminate() on cancellation (#17361)\nce7746d41 by Manikanta Loya, fix: Use Presto-compatible timestamp format in PrestoTypes::valueToString (#16929)\n932d08756 by Konjac Huang, refactor: Extract FileDataSink base class from HiveDataSink (#17345)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e"
    },
    {
      "commit": "feb8278c913d6d2ee3f0ee3513e4e064c0d28937",
      "tree": "bf797a3a93eaa5e1e59ace2a8367a0941c606300",
      "parents": [
        "d904cb4f45cb070ad879cc3dfbea839532aaed97"
      ],
      "author": {
        "name": "Joey",
        "email": "joey.ljy@alibaba-inc.com",
        "time": "Tue May 05 17:39:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 17:39:26 2026 +0800"
      },
      "message": "[CORE][UI] Skip GlutenPlanFallbackEvent posting when gluten is disabled (#12027)\n\nWhen spark.gluten.enabled\u003dfalse (e.g. the vanilla Spark baseline run inside\nrunQueryAndCompare), GlutenQueryExecutionListener previously still posted\na GlutenPlanFallbackEvent. Because no Gluten rules ran, all nodes appeared\nas fallback with the generic reason \u0027Gluten does not touch it or does not\nsupport it\u0027, polluting the event stream.\n\nFix: early-return before collectQueryExecutionFallbackSummary when the\nsession\u0027s spark.gluten.enabled config is false. The config is read directly from\nqe.sparkSession.sessionState.conf via getConfString to avoid thread-local\nSQLConf timing issues in the async listener thread.\n\nAdd a regression test that verifies no GlutenPlanFallbackEvent is emitted\nwhen a query is executed with spark.gluten.enabled\u003dfalse."
    },
    {
      "commit": "d904cb4f45cb070ad879cc3dfbea839532aaed97",
      "tree": "a5d51455b377a1486d1e75b78815966d48d67dec",
      "parents": [
        "040d7894d2ba0841f7ca66827e0885d48bd1f0f1"
      ],
      "author": {
        "name": "Surendra Singh Lilhore",
        "email": "45159337+surendralilhore@users.noreply.github.com",
        "time": "Tue May 05 10:49:14 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 13:19:14 2026 +0800"
      },
      "message": "[VL] Fix str_to_map MAP_KEY_DEDUP_POLICY comparison for Spark 4.1 compatibility (#12035)\n\nStarting from Spark 4.1, SQLConf.get.getConf(SQLConf.MAP_KEY_DEDUP_POLICY) returns an enum value instead of a String. The existing comparison against the .toString of the EXCEPTION variant would always evaluate to not-equal (comparing enum !\u003d String), incorrectly rejecting str_to_map offloading even when the policy is set to EXCEPTION.\n\nAdd .toString on the left side so both operands are compared as Strings, restoring correct behavior across all Spark versions.\n\nWhat changes are proposed in this pull request?\nFix the code but to make code compatible with Spark 4.1\n\nHow was this patch tested?\nAdded new UT test to verify the fix.\n\nWas this patch authored or co-authored using generative AI tooling?\nGitHub Copilot CLI (powered by Claude Opus 4.6)\n\nRelated issue: #12034"
    },
    {
      "commit": "040d7894d2ba0841f7ca66827e0885d48bd1f0f1",
      "tree": "8f3b630212e41a3e40fee28c7a55cc08246271d9",
      "parents": [
        "752f58ad020da26ae0a6d9cdf82d1df06512d574"
      ],
      "author": {
        "name": "Zouxxyy",
        "email": "zouxinyu.zxy@alibaba-inc.com",
        "time": "Tue May 05 11:36:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 20:36:48 2026 -0700"
      },
      "message": "[MINOR] Add Hadoop 3.4 profile (#11995)"
    },
    {
      "commit": "752f58ad020da26ae0a6d9cdf82d1df06512d574",
      "tree": "333ab478b1239e2ac340f39d02c74fe7c1646a4d",
      "parents": [
        "35784e215590572e382964270a2fe770c4465ceb"
      ],
      "author": {
        "name": "Zhichao Zhang",
        "email": "zhangzc@apache.org",
        "time": "Tue May 05 09:26:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 05 09:26:12 2026 +0800"
      },
      "message": "[GLUTEN-12032][CH] Reopen some queries test for the Spark 3.5 (#12033)\n\n[GLUTEN-12032][CH] Reopen some queries test for the Spark 3.5\n\nReopen some queries test for the Spark 3.5:\n- subquery/in-subquery/in-with-cte.sql\n\nClose #12032.\n\n* remove comment"
    },
    {
      "commit": "35784e215590572e382964270a2fe770c4465ceb",
      "tree": "8e41279c55b7e465fdbf7c015ba13d7d43c4f103",
      "parents": [
        "571e4792e5e9104d4d0ba47e7a3f7ac22a21eae6"
      ],
      "author": {
        "name": "Zouxxyy",
        "email": "zouxinyu.zxy@alibaba-inc.com",
        "time": "Tue May 05 02:33:27 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 04 11:33:27 2026 -0700"
      },
      "message": "[CI] Correct job names to align with tested Spark versions (#11994)"
    },
    {
      "commit": "571e4792e5e9104d4d0ba47e7a3f7ac22a21eae6",
      "tree": "df8fd8041ae8c70dfd1e90cdbad3c13f80f53616",
      "parents": [
        "d8135abfe7576864d178596892662a1800d3d930"
      ],
      "author": {
        "name": "Raushan Prabhakar",
        "email": "48627196+raushanprabhakar1@users.noreply.github.com",
        "time": "Mon May 04 11:56:49 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 03 23:26:49 2026 -0700"
      },
      "message": "[VL][CI] Fix clang-tidy CI failure (#12021)"
    },
    {
      "commit": "d8135abfe7576864d178596892662a1800d3d930",
      "tree": "b7f686ca430cc678f1c0340d08b2ae6d8837ff99",
      "parents": [
        "28b0071ffa97306b6e93f9621d7090d8ce1d0ad0"
      ],
      "author": {
        "name": "Zhichao Zhang",
        "email": "zhangzc@apache.org",
        "time": "Sun May 03 14:27:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 03 14:27:12 2026 +0800"
      },
      "message": "[GLUTEN-12018] Support parquet metadata cache for the Parquet Reader V3 (#12019)\n\nCherry pick from CH, support parquet metadata cache for the Parquet Reader V3\n\nClose #12018."
    },
    {
      "commit": "28b0071ffa97306b6e93f9621d7090d8ce1d0ad0",
      "tree": "f6072150427b26387c4a968c815af8d965716fbc",
      "parents": [
        "c8200ec5ee70cfdda8564209206e7c80e67c4f46"
      ],
      "author": {
        "name": "Asish Kumar",
        "email": "87874775+officialasishkumar@users.noreply.github.com",
        "time": "Sun May 03 08:17:46 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 19:47:46 2026 -0700"
      },
      "message": "[GLUTEN-11885][VL] Respect custom VELOX_HOME in build info generation (#11905)"
    },
    {
      "commit": "c8200ec5ee70cfdda8564209206e7c80e67c4f46",
      "tree": "42f16baa84c9baca6f70f900bb64e277b6de6d7c",
      "parents": [
        "6b8c0dcaea956c810232b4870e2a60b5451c6550"
      ],
      "author": {
        "name": "Hongze Zhang",
        "email": "hongze.zzz123@gmail.com",
        "time": "Sat May 02 18:03:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 18:03:59 2026 +0800"
      },
      "message": "[VL] Rework option `spark.gluten.sql.columnar.backend.velox.asyncTimeoutOnTaskStopping` (#11882)"
    },
    {
      "commit": "6b8c0dcaea956c810232b4870e2a60b5451c6550",
      "tree": "a907d9410b43ac4e6129dfdeb455f15322ecc3e5",
      "parents": [
        "e1e6e6840a7fceea65a9c4e8b750324e0c391e7b"
      ],
      "author": {
        "name": "Joey",
        "email": "joey.ljy@alibaba-inc.com",
        "time": "Sat May 02 14:24:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 23:24:53 2026 -0700"
      },
      "message": "[GLUTEN-8304][CORE] Fix incorrect path merging in `CollapseGetJsonObjectExpressionRule` for non-GJO expressions (#12007)"
    },
    {
      "commit": "e1e6e6840a7fceea65a9c4e8b750324e0c391e7b",
      "tree": "ada1af34fcb7ca51d33fdf3b85034e5197e2f2ce",
      "parents": [
        "8726bf523262af0014bf566570af5ee7b9ae9781"
      ],
      "author": {
        "name": "Zouxxyy",
        "email": "zouxinyu.zxy@alibaba-inc.com",
        "time": "Fri May 01 20:53:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 13:53:36 2026 +0100"
      },
      "message": "[CORE] Upgrade Paimon to 1.4.1 (#11996)\n\nUpgrade default Paimon version from 1.2.0 to 1.4.1\nRemove hardcoded Paimon 1.3.0 from Spark 4.0 and Spark 4.1 profiles to inherit from the default\nFix Paimon artifact name to include the Scala binary version suffix (_${scala.binary.version}) as required by Paimon 1.3+\n\n---------\n\nCo-authored-by: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "8726bf523262af0014bf566570af5ee7b9ae9781",
      "tree": "23039c507588ae190438a07598fe9af0755a0094",
      "parents": [
        "ffea382c936b40c3bc6a480c5f8a95b6fca7744a"
      ],
      "author": {
        "name": "Mohammad Linjawi",
        "email": "linjawi.mohammad@gmail.com",
        "time": "Fri May 01 15:32:26 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 13:32:26 2026 +0100"
      },
      "message": "[DOC] Update Velox Delta guide for Spark 4.0 / Delta 4.0 support (#12003)\n\nThis PR updates the Delta documentation for the Velox backend to reflect Spark 4.0 / Delta 4.0 support.\n\nSpecifically, it updates docs/get-started/VeloxDelta.md to:\n\nBroaden the scope from Spark 3.5-only wording to general Velox Delta support.\nAdd a Spark/Delta compatibility table covering:\nspark-3.5 + Delta 3.3.x\nspark-4.0 + Delta 4.0.x (including native Delta write path support)\nAdd build examples for both Spark 3.5 and Spark 4.0 profiles with -Pdelta.\nDocument the native Delta write config:\nspark.gluten.sql.columnar.backend.velox.delta.enableNativeWrite\ndefault value and experimental status.\nNo functional/runtime code paths are changed in this PR; this is documentation-only.\n---------\n\nCo-authored-by: Mohammad Linjawi \u003cMohammad.Linjawi@ibm.com\u003e"
    },
    {
      "commit": "ffea382c936b40c3bc6a480c5f8a95b6fca7744a",
      "tree": "a9f260fc4d774a5fe44325c1da9f55a71722e49c",
      "parents": [
        "cf8bcb98b933c1edc979a9cff2fd3af61a1b760f"
      ],
      "author": {
        "name": "Yuan",
        "email": "yuanzhou@apache.org",
        "time": "Fri May 01 13:31:17 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 13:31:17 2026 +0100"
      },
      "message": "[VL] Fix nightly upload action (#12006)\n\nbump the action version so it\u0027s allowed in apache repos"
    },
    {
      "commit": "cf8bcb98b933c1edc979a9cff2fd3af61a1b760f",
      "tree": "0cccdb23d6ce316603a854a544f7f810fc27f5f0",
      "parents": [
        "20c77fcecb1ec074cdb41f14fb7198d0482639c2"
      ],
      "author": {
        "name": "Hongze Zhang",
        "email": "hongze.zzz123@gmail.com",
        "time": "Fri May 01 20:30:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 13:30:36 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_30) (#12014)\n\n* [GLUTEN-6887][VL] Daily Update Velox Version (2026_04_30)\n\n* fixup"
    },
    {
      "commit": "20c77fcecb1ec074cdb41f14fb7198d0482639c2",
      "tree": "9a32d8986263f14d3bc37427dc818ee72a4bafad",
      "parents": [
        "b6c278e1ad3bf7d03a7fe3221f0f007d9d4435f5"
      ],
      "author": {
        "name": "inf",
        "email": "ialhazmim@gmail.com",
        "time": "Fri May 01 09:28:39 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 14:28:39 2026 +0800"
      },
      "message": "[VL] Added iceberg write configs (#11776)"
    },
    {
      "commit": "b6c278e1ad3bf7d03a7fe3221f0f007d9d4435f5",
      "tree": "f10b339990db07a11fd7dfcc870e3d9d780dc463",
      "parents": [
        "b1906e5f7bf140b2b20178e086b9677980f1b91d"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Fri May 01 05:50:13 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 08:20:13 2026 +0800"
      },
      "message": "[VL][DELTA] Reconcile struct field names in CaseWhen/If for Velox SWITCH compatibility (#11948)\n\n* Use consistent struct field names\n\n* Test minor change"
    },
    {
      "commit": "b1906e5f7bf140b2b20178e086b9677980f1b91d",
      "tree": "4007fd0907355dcae4c54811a341932534056517",
      "parents": [
        "93de3c8b416880474fb0806debc415037960c39f"
      ],
      "author": {
        "name": "Wechar Yu",
        "email": "yuwq1996@gmail.com",
        "time": "Thu Apr 30 15:15:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 00:15:19 2026 -0700"
      },
      "message": "[GLUTEN-11635][FOLLOW-UP] Respect partial fallback configs when checking node support (#11988)"
    },
    {
      "commit": "93de3c8b416880474fb0806debc415037960c39f",
      "tree": "eb0a96e4b3b422113b727149c01d787df4705065",
      "parents": [
        "33f2cc8649a368eadca237797af5a34ad9f7bbfb"
      ],
      "author": {
        "name": "Zhichao Zhang",
        "email": "zhangzc@apache.org",
        "time": "Thu Apr 30 11:05:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 30 11:05:10 2026 +0800"
      },
      "message": "[GLUTEN-12010][CH] Pass the correct values to ParquetInputFormat (#12011)\n\nUpdates the ClickHouse backend’s Parquet read path to use the configured Parquet input settings (rather than hardcoded defaults) when constructing/feeding the Parquet input formats.\n\nChanges:\n\n- Thread format_settings.parquet.max_block_size into the local ParquetInputFormat wrapper and use it for row-index-only batch generation.\n- Select min_bytes_for_seek based on whether the underlying read is remote vs local, and pass it into the native Parquet input formats.\n- Remove the default ClickHouse setting local_engine.settings.log_processors_profiles \u003d true from backend initialization."
    },
    {
      "commit": "33f2cc8649a368eadca237797af5a34ad9f7bbfb",
      "tree": "fe31c6915443fba8cba56c3e8bf0a4d689787ccd",
      "parents": [
        "4a018f6f12b5796eb7876515300573136b982cc9"
      ],
      "author": {
        "name": "Mohammad Linjawi",
        "email": "linjawi.mohammad@gmail.com",
        "time": "Wed Apr 29 23:22:27 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 21:22:27 2026 +0100"
      },
      "message": "[GLUTEN-11911][VL][Spark4] Enable Structured Streaming suites with GlutenPlugin fallback (#11957)\n\n* [VL][Spark4] enable structured streaming suites with fallback traits\n\n* [VL][Spark4] make hash partition verify suite resolve valid spark.test.home\n\n* [VL][Spark4] fix spotless style in streaming hash partition suite\n\n* [VL][Spark4] fix structured-streaming checkpoint resource loading\n\n* [VL][Spark4] fix SPARK-49905 streaming shuffle assertion\n\n---------\n\nCo-authored-by: Mohammad Linjawi \u003cMohammad.Linjawi@ibm.com\u003e"
    },
    {
      "commit": "4a018f6f12b5796eb7876515300573136b982cc9",
      "tree": "94c2951d19c352b85f84c89b73c069a2f61cdd7c",
      "parents": [
        "a568a1e9e2113278efd995aa80a1cc2a97bd1b63"
      ],
      "author": {
        "name": "Zhichao Zhang",
        "email": "zhangzc@apache.org",
        "time": "Wed Apr 29 11:30:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 29 11:30:47 2026 +0800"
      },
      "message": "[GLUTEN-11488][CH] Update Clickhouse Version (Stable-25.12.10.7_20260425) (#11734)\n\n[GLUTEN-11488][CH] Update Clickhouse Version (Stable-25.12.10.7_20260425)\n\n1. Update Clickhouse version to stable version v25.12.10.7\n2. [GLUTEN-11488][CH] Support aggregate function and align sparkArrayFold lambda types\n\n\n---------\n\nCo-authored-by: zhangzhibiao \u003czhangzhibiao@bigo.sg\u003e"
    },
    {
      "commit": "a568a1e9e2113278efd995aa80a1cc2a97bd1b63",
      "tree": "4b46dfdb2ae5d5a2bf4d09e9ada25423254298d8",
      "parents": [
        "23d7ca19ee5696e9500c76908ac55a468f992bba"
      ],
      "author": {
        "name": "Mingliang Zhu",
        "email": "zhuml1206@gmail.com",
        "time": "Tue Apr 28 17:07:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 17:07:53 2026 +0800"
      },
      "message": "[INFRA] Upgrade scalafmt to 3.10.1 (#11999)\n\nThere are a lot of unnecessary parentheses and unnecessary semicolons at the end of the Scala code, upgrade scalafmt to support RemoveSemicolons."
    },
    {
      "commit": "23d7ca19ee5696e9500c76908ac55a468f992bba",
      "tree": "0b77450968502b52ff1b2a9984730e59f0069339",
      "parents": [
        "f0a3df894481d0db844bb7943b59b063e08b26a1"
      ],
      "author": {
        "name": "Kerwin Zhang",
        "email": "xiyu.zk@alibaba-inc.com",
        "time": "Mon Apr 27 23:26:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 23:26:30 2026 +0800"
      },
      "message": "[VL] Support case-insensitive celeborn shuffle manager detection (#11992)"
    },
    {
      "commit": "f0a3df894481d0db844bb7943b59b063e08b26a1",
      "tree": "ea5f2feb9c78603e026d12a31cccd00803dd1833",
      "parents": [
        "bd79573cbd40d600b8a54e18428b106feef67467"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Sat Apr 25 12:44:07 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 19:44:07 2026 +0800"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_24) (#11982)"
    },
    {
      "commit": "bd79573cbd40d600b8a54e18428b106feef67467",
      "tree": "416ef1e5564628b8b5673e7481c35575edaf5447",
      "parents": [
        "7bf4467ec2a457c23338b40c0eea816c41873a8d"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Fri Apr 24 15:35:45 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 15:35:45 2026 +0530"
      },
      "message": "Move glog initialization before first LOG() call in VeloxBackend::init (#11983)\n\nLOG(INFO) was called before google::InitGoogleLogging(), which is undefined behavior. This commit moves glog setup to immediately after backendConf_ is available, ensuring all subsequent LOG() calls are safe."
    },
    {
      "commit": "7bf4467ec2a457c23338b40c0eea816c41873a8d",
      "tree": "c052c3d62338deaa70c2c0dd4fe5c18470ca84cb",
      "parents": [
        "6cdcfe88ed6638ed625a0bdd9f504960288f1aea"
      ],
      "author": {
        "name": "Mohammad Linjawi",
        "email": "linjawi.mohammad@gmail.com",
        "time": "Fri Apr 24 07:24:29 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 24 12:24:29 2026 +0800"
      },
      "message": "[GLUTEN-10215][VL] Delta 4 native write support for Spark 4.0 (#11924)"
    },
    {
      "commit": "6cdcfe88ed6638ed625a0bdd9f504960288f1aea",
      "tree": "39a326f9109bcc0a9917b13c582832cbd476a15c",
      "parents": [
        "d1a2a7fb6b9b0502e638ad7743ef1d4d8fc8d125"
      ],
      "author": {
        "name": "Yao-MR",
        "email": "yao.mr.cn@gmail.com",
        "time": "Fri Apr 24 11:45:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 20:45:22 2026 -0700"
      },
      "message": "[GLUTEN-11969] Enable Java 17 release flag for Spark 4+ build (#11971)"
    },
    {
      "commit": "d1a2a7fb6b9b0502e638ad7743ef1d4d8fc8d125",
      "tree": "c019b2a0181f745984447189d01cdeadd5e97fd1",
      "parents": [
        "cb2f46b87748215b9bf246b9b4e2cf0a7c89b2db"
      ],
      "author": {
        "name": "Felipe Pessoto",
        "email": "felipepessoto@hotmail.com",
        "time": "Thu Apr 23 06:05:05 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 21:05:05 2026 +0800"
      },
      "message": "[GLUTEN-10215][VL] Follow-up - Remove throw statement for FetchFailedException (#11978)\n\nRemove exception throwing after logging a warning in the optimized writer."
    },
    {
      "commit": "cb2f46b87748215b9bf246b9b4e2cf0a7c89b2db",
      "tree": "c79092ac6d7d50394cabc0b0729474bd97981d49",
      "parents": [
        "e23eba4091a3a74540734c19f6318a56b4c5acf5"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Thu Apr 23 13:43:55 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 20:43:55 2026 +0800"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_23) (#11979)\n\n* [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_04_23)\n\nDFT Velox\u0027s New Commits:\na878aef9c by Ke Jia, Fix GCC 11.2 compilation issue\nbc5f44025 by infvg, Fix iceberg min max statistics for decimal type when encoded as int32\n5c74d792f by yingsu00, feat(PartitionedOutput): Add normal vs optimized comparison in ExchangeBenchmark\n4b807bee3 by yingsu00, feat(PartitionedOutput): Add OptimizedPartitionedOutput operator\ne13990e39 by yingsu00, feat(PartitionedOutput): Add PrestoIterativePartitioningSerializer\n4344c0d89 by yingsu00, feat(PartitionedOutput): Add numNullsPerPartition_ to PartitionedVector\n00c643190 by Xin Zhang, Add PartitionedVector benchmark\ncc0d7e569 by Xin Zhang, feat: Add ParitionedConstantVector implementation\ncde763a32 by yingsu00, fix: Avoid allocating null buffer when partitioning null-free vectors\n2d36e68a8 by Xin Zhang, fix: Add bool specialization for partitionFixedWidthValues\n07e845819 by Xin Zhang, refactor: Move initializeCursorPartitionOffsets into partitionFixedWidthValuesInPlace\nf6c23aea9 by yingsu00, feat: Add PartitionedRowVector implementation\n2b632df78 by yingsu00, feat: Introducing PartitionedVector\nc0b343f8f by binwei yang, remote website folder\n24d5de79e by zouxxyy, 1\n73df4276e by binwei yang, remote gluten daily build\n4bd222189 by Yuan, adding daily tests\n16d9abe3a by Ping Liu, Iceberg core code\na9c03f576 by wforget, [OAP] Change SpillPartitionId::kMaxSpillLevel to 7\nf5dc0c6f3 by Ke Jia, [OAP] Reused Hash Table in HashBuild Phase for Glute\n2b2f015a2 by Yuan, [OAP] [11771] Fix smj result mismatch issue in semi, anit and full outer join\n5f65e00db by Rui Mo, [OAP][5962] Support struct schema evolution matching by name\n7ed90a53d by Simon Eves, feat(cudf): GPU Decimal (Part 2 of 3) (#16750)\n9ab9879e7 by Daniel Bauer, feat(Cudf): Experimental direct GPU-to-GPU exchange (#16037)\n0187d5ba8 by Pramod Satya, fix(cudf): Guard hash join build debug logging against empty inputs (#17221)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\n\n* fixup\n\n---------\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: Hongze Zhang \u003chongze.zzz123@gmail.com\u003e"
    },
    {
      "commit": "e23eba4091a3a74540734c19f6318a56b4c5acf5",
      "tree": "87599a4cae5b3d032408ee027a071f8533cb64a0",
      "parents": [
        "50632379b0668ddc16bdb9ae014792dfbc176de6"
      ],
      "author": {
        "name": "Chang Chen",
        "email": "changchen@microsoft.com",
        "time": "Thu Apr 23 16:48:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 09:48:28 2026 +0100"
      },
      "message": "[GLUTEN-10134][VL] Add ANSI mode CI baseline with expression offload tracking (#11975)\n\nThis PR establishes an ANSI SQL mode CI baseline for the Velox backend, providing expression-level offload tracking to identify the full scope of ANSI implementation work.\n\nCo-authored-by: Claude Opus 4 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "50632379b0668ddc16bdb9ae014792dfbc176de6",
      "tree": "56277f0c4e327346505af000c99a6f8732fc5e55",
      "parents": [
        "1ca995c17a64f5e38086dd8d599088177973882a"
      ],
      "author": {
        "name": "Zhichao Zhang",
        "email": "zhangzc@apache.org",
        "time": "Thu Apr 23 16:29:30 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 16:29:30 2026 +0800"
      },
      "message": "[CH] Fix package script issue (#11886)\n\n* [CH] Fix package script issue\n\nFix package script issue\n\n* fix\n\n* fix\n\n* fix tmp path issue"
    },
    {
      "commit": "1ca995c17a64f5e38086dd8d599088177973882a",
      "tree": "5daea77e5263aca022f933e4990630fad172e361",
      "parents": [
        "989ab773f99615aa803c717fccbaa1ef3b382da0"
      ],
      "author": {
        "name": "Joey",
        "email": "joey.ljy@alibaba-inc.com",
        "time": "Wed Apr 22 13:51:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 13:51:43 2026 +0800"
      },
      "message": "[VL] Remove unused libprotobuf.so.32 from shared library loaders and build script (#11974)\n\nlibvelox.so no longer depends on libprotobuf.so.32. Remove the unnecessary\nloading and copying of this library across all OS-specific SharedLibraryLoader\nimplementations and build-thirdparty.sh. Also add missing libgeos.so.3.10.7\nto process_setup_centos_8 in build-thirdparty.sh."
    },
    {
      "commit": "989ab773f99615aa803c717fccbaa1ef3b382da0",
      "tree": "c72197fa4aff90796358d762272c2aef2552e823",
      "parents": [
        "fb23d83fa25c4dd1c445a1d3712b5a2fa3301838"
      ],
      "author": {
        "name": "Chang Chen",
        "email": "changchen@microsoft.com",
        "time": "Tue Apr 21 19:23:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 19:23:14 2026 +0800"
      },
      "message": "[MINOR][VL] Fix install-spark-resources.sh: Spark 4.1 case references wrong directory (#11973)\n\nThe 4.1 case was copy-pasted from the 4.0 case but the mv path was not\nupdated from spark40 to spark41, causing the install to fail when\ninstall-spark-resources.sh is called with 4.1.\n\nAlso remove the redundant external mv commands in velox_backend_x86.yml\nsince the script now handles the rename internally.\n\nCo-authored-by: Claude Opus 4 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "fb23d83fa25c4dd1c445a1d3712b5a2fa3301838",
      "tree": "76293657e28a84d963869b6d9e1eff648fc33863",
      "parents": [
        "98d816874b97c15464c30a09cec00c6712c44c37"
      ],
      "author": {
        "name": "Guo Wangyang",
        "email": "wangyang.guo@intel.com",
        "time": "Tue Apr 21 16:17:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 16:17:44 2026 +0800"
      },
      "message": "[GLUTEN-11895][VL] Fix SIGSEGV on IOThreadPool threads during HDFS scan (#11896)"
    },
    {
      "commit": "98d816874b97c15464c30a09cec00c6712c44c37",
      "tree": "31eabb9bd891be1dbb9c2e3b86100b2688a114d2",
      "parents": [
        "650f0c30264010a95cfe96a0bceac513c9b055b1"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Tue Apr 21 06:04:08 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 13:04:08 2026 +0800"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_17) (#11956)"
    },
    {
      "commit": "650f0c30264010a95cfe96a0bceac513c9b055b1",
      "tree": "375c8ebcbaf950fdc7afb00460bb8df4409fe6b1",
      "parents": [
        "b9fe9efda8686742ab9506ce58801c97ec1f6de1"
      ],
      "author": {
        "name": "Hongze Zhang",
        "email": "hongze.zzz123@gmail.com",
        "time": "Tue Apr 21 08:57:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 08:57:01 2026 +0800"
      },
      "message": "[VL] Experimental eager aggregation (#11942)"
    },
    {
      "commit": "b9fe9efda8686742ab9506ce58801c97ec1f6de1",
      "tree": "00b093f8488920b28b5c562bf9100f4843f66b91",
      "parents": [
        "f74ca6f0d8b78396c66a35b8bb886b1a09ef1e23"
      ],
      "author": {
        "name": "Wechar Yu",
        "email": "yuwq1996@gmail.com",
        "time": "Tue Apr 21 07:13:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 16:13:29 2026 -0700"
      },
      "message": "[GLUTEN-11958] Flatten pom for modules containing spark-shim (#11959)"
    },
    {
      "commit": "f74ca6f0d8b78396c66a35b8bb886b1a09ef1e23",
      "tree": "2efb1aa765eb10bde155c5620b33d06f9d815a1f",
      "parents": [
        "52dd67cf16916f06e91f2bf3424a4a2ba0442ceb"
      ],
      "author": {
        "name": "Yao-MR",
        "email": "yao.mr.cn@gmail.com",
        "time": "Tue Apr 21 06:57:11 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 15:57:11 2026 -0700"
      },
      "message": "[MINOR] Rename Spark resource and dependency installation scripts (#11937)"
    },
    {
      "commit": "52dd67cf16916f06e91f2bf3424a4a2ba0442ceb",
      "tree": "3d113da36c53c4987d8e91829333ca8523b82ee9",
      "parents": [
        "b8a6e906c212ae7fc07451beddf8869e244b46e3"
      ],
      "author": {
        "name": "BInwei Yang",
        "email": "felixybw@apache.org",
        "time": "Mon Apr 20 14:24:41 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 14:24:41 2026 -0700"
      },
      "message": "Add storageReads metric to track number of storage read operations (#11964)\n\nThis commit adds a new metric \u0027storageReads\u0027 that counts the number of\nstorage read operations, complementing the existing \u0027storageReadBytes\u0027\nmetric which tracks the total bytes read."
    },
    {
      "commit": "b8a6e906c212ae7fc07451beddf8869e244b46e3",
      "tree": "74c38e23c75e1afba0b465941969dbaa545e9db2",
      "parents": [
        "7b83b92964faddb82fff4881ec2d65b3d428c063"
      ],
      "author": {
        "name": "Chang Chen",
        "email": "changchen@microsoft.com",
        "time": "Mon Apr 20 12:37:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 19 21:37:59 2026 -0700"
      },
      "message": "[CORE] Add .claude/ to .gitignore (#11962)\n\nAdd .claude/ directory to .gitignore (Claude Code local config/cache files)"
    },
    {
      "commit": "7b83b92964faddb82fff4881ec2d65b3d428c063",
      "tree": "4c7727f8a00641647273f84cbd28f543a55642d9",
      "parents": [
        "f805f13733f2b37c93604f5faa15112c35fed320"
      ],
      "author": {
        "name": "Anshul Baliga",
        "email": "106268157+anshulbaliga7@users.noreply.github.com",
        "time": "Mon Apr 20 07:50:05 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 10:20:05 2026 +0800"
      },
      "message": "[MINOR][DOCS] Fix typos in VeloxConfig.scala doc strings (#11950)"
    },
    {
      "commit": "f805f13733f2b37c93604f5faa15112c35fed320",
      "tree": "c833dafe33a21075b6b123b84d2725bb61719904",
      "parents": [
        "584d1b52a5b7c955e6b22eb3e227230bb7ad09db"
      ],
      "author": {
        "name": "Guo Wangyang",
        "email": "wangyang.guo@intel.com",
        "time": "Sun Apr 19 10:38:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 18 19:38:39 2026 -0700"
      },
      "message": "[VL] shuffle: TypeAwareCompress(tac) for column-wise data compression like (U)INT64 (#11894)\n\nIntroduces TypeAwareCompress (TAC) — a column-wise compression layer for shuffle that selects\nan algorithm based on each buffer\u0027s data type, applied per-buffer alongside the existing LZ4/ZSTD\ncodec path."
    },
    {
      "commit": "584d1b52a5b7c955e6b22eb3e227230bb7ad09db",
      "tree": "002f65589a5dad9c41c03a49e48b4ee8420503b6",
      "parents": [
        "69b319dc6595b572743d8d41a9b5ca87b938677a"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Fri Apr 17 23:24:03 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 23:24:03 2026 +0530"
      },
      "message": "[VL] Fix shallow CreateNamedStruct detection in CollapseProjectExecTransformer (#11953)\n\ncontainsNamedStructAlias in CollapseProjectExecTransformer guards against collapsing project nodes when CreateNamedStruct is present, since Velox generates a special obj output that breaks bind reference resolution after collapse. The existing pattern match only detects CreateNamedStruct as the direct child of Alias and misses CreateNamedStruct nested inside any wrapper expression like If, CaseWhen allowing unsafe collapse that causes Velox bind reference failures at runtime. This change uses expression.exists to walk the full subtree."
    },
    {
      "commit": "69b319dc6595b572743d8d41a9b5ca87b938677a",
      "tree": "c8c93f3a9544e375380af651b5f8212310bb5dc7",
      "parents": [
        "6988ab6d105b18edfedbece372c5f2fb403d4bbf"
      ],
      "author": {
        "name": "Mingliang Zhu",
        "email": "zhuml1206@gmail.com",
        "time": "Sat Apr 18 01:35:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 18 01:35:15 2026 +0800"
      },
      "message": "[MINOR] Split Iceberg test resources into separate Maven entries (#11952)"
    },
    {
      "commit": "6988ab6d105b18edfedbece372c5f2fb403d4bbf",
      "tree": "cb5a1c9312ecd662acc549b0d57954d13db580fc",
      "parents": [
        "a7058c7110cffb830e8ca07438b458af1d4c07c3"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Fri Apr 17 12:45:37 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 12:45:37 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_16) (#11949)\n\n* [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_04_16)\n\nUpstream Velox\u0027s New Commits:\n45a03a6a0 by Henry Edwin Dikeman, test(exec): Guard operator blocking stats collection with TSAN atomic (#17201)\n329370d79 by Jacob Khaliqi, fix: Ensure make_set_digest returns setdigest type (#17181)\n7c8d92647 by Chengcheng Jin, refactor(cudf): Register Spark and Presto functions separately (#16960)\n63a2a2c9a by generatedunixname1395027625275998, fbcode/velox/serializers/PrestoSerializerSerializationUtils.cpp (#16703)\n439c3ad21 by Christian Zentgraf, fix(build): Build spark-server stage in docker compose (#17186)\n7331a5095 by Pratik Pugalia, fix: SwitchExpr::computePropagatesNulls skips then-clauses due to wrong loop stride (#17155)\n7eaea3153 by Natasha Sehgal, fix: Populate null placeholders in VariantToVector\u003cROW\u003e children\n17488dcee by Jimmy Lu, test: Add map_concat expression benchmark (#17103)\nf1e43a962 by Chengcheng Jin, feat(cudf): Support all unary functions in AST (#17111)\nb29919bd3 by Masha Basmanova, fix: Replace static inline registration with traits-based pattern in QueryConfig (#17195)\n7281717e5 by Masha Basmanova, refactor: Remove redundant hive. prefix from Hive connector config keys (#17192)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\n\n* [Minor] register the Spark functions in GPU\n\n---------\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: Chengcheng Jin \u003cChengcheng.jin@ibm.com\u003e"
    },
    {
      "commit": "a7058c7110cffb830e8ca07438b458af1d4c07c3",
      "tree": "3c8ce2547a9428341d59148cae45b7a9da615222",
      "parents": [
        "139c332edcef466e0270a1b922a400b3d237241d"
      ],
      "author": {
        "name": "Mohammad Linjawi",
        "email": "linjawi.mohammad@gmail.com",
        "time": "Fri Apr 17 13:47:50 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 11:47:50 2026 +0100"
      },
      "message": "[GLUTEN-11862][VL] Work around GMT session timezone validation failure on macOS (#11869)\n\nFixes #11862.\n\nThis PR works around a macOS-specific native validation failure in the Velox backend when the effective Spark session timezone is GMT.\n\nBased on the discussion in #11862, the underlying behavior is likely related to upstream Folly/Velox timezone handling on macOS rather than a general Spark semantics problem. This patch keeps the workaround on the Gluten side so Spark session timezone values do not block native validation and execution in the Velox path.\n\nThe changes in this PR are:\n\nnormalize GMT and GMT+/-offset session timezone values to UTC-equivalent forms before passing them into native Velox query config\nuse the runtime session timezone in SubstraitToVeloxPlanValidator instead of hardcoding GMT\napply the same normalization when setting the Velox writer timezone config\nadd a regression test covering execution with spark.sql.session.timeZone\u003dGMT\n---------\n\nCo-authored-by: Mohammad Linjawi \u003cMohammad.Linjawi@ibm.com\u003e"
    },
    {
      "commit": "139c332edcef466e0270a1b922a400b3d237241d",
      "tree": "0f98385b6147f7b1b3c5e976e414224747fb7cf0",
      "parents": [
        "7e35388d3f3032c932c8caafe10c81fb9f6939ed"
      ],
      "author": {
        "name": "Rui Mo",
        "email": "rui@apache.org",
        "time": "Fri Apr 17 09:54:30 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 09:54:30 2026 +0100"
      },
      "message": "[GLUTEN-9456][VL] Override clone in GlutenDirectBufferedInput (#11933)"
    },
    {
      "commit": "7e35388d3f3032c932c8caafe10c81fb9f6939ed",
      "tree": "0aad8b2b75679c78b45b11ef7c220cf7663d99eb",
      "parents": [
        "f9c090abdf54b5db2ed34b7d7bd5ae6bcd6012a8"
      ],
      "author": {
        "name": "wankun",
        "email": "wankunde@163.com",
        "time": "Fri Apr 17 08:54:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 17:54:57 2026 -0700"
      },
      "message": "[VL] Ignore null values when copy velox string buffer to arrow (#11944)\n\nBug fix for VeloxHashShuffleWriter.\nDescription:\n\nVeloxHashShuffleWriter::write() method will try to convert the input velox flat vectors into Arrow buffer.\nFor StringView vectors, VeloxHashShuffleWriter calculates the total size of all input StringViews, and initializes the Arrow buffer accordingly.\nFor null values, we do not actually need to copy the dirty values into Arrow buffers, thereby saving execution memory."
    },
    {
      "commit": "f9c090abdf54b5db2ed34b7d7bd5ae6bcd6012a8",
      "tree": "0f5f4968feeec33513b1fd30ba4423bddc4e4937",
      "parents": [
        "dc2f9f23792a860a9fe6e36faa391eb215542620"
      ],
      "author": {
        "name": "Philo He",
        "email": "philo@apache.org",
        "time": "Thu Apr 16 02:21:56 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 17:21:56 2026 +0800"
      },
      "message": "[VL][UT] Enable two tests previously failing due to Velox Expand operator bug (#11947)\n\nWhat changes are proposed in this pull request?\nEnable these two tests in GlutenDeltaBasedUpdateAsDeleteAndInsertTableSuite. It covers Spark\u0027s delta-based row update, which uses a row operation flag to mark deletes and inserts. An Expand operator duplicates each row into two — one for delete and one for insert. When updating a table with the WriteDelta operator, delete records are filtered out based on the row operation flag.\n\nFor the delete flag marked row, NULL literal will be used to replace the deprecated data, passing to Expand operators. Previously, the operator incorrectly handles NULL literals of complex types, producing NULLs instead of the expected values. This bug was fixed by Velox PR some months ago: facebookincubator/velox#15684.\n\nHow was this patch tested?\nLocal test passed.\n\nWas this patch authored or co-authored using generative AI tooling?\nNo."
    },
    {
      "commit": "dc2f9f23792a860a9fe6e36faa391eb215542620",
      "tree": "4febd0148d372069891eedea7800ce7cbd530c51",
      "parents": [
        "6c305d5ff7da1a36bd5ee40a456ae94825781d92"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Apr 16 09:14:07 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 09:14:07 2026 +0100"
      },
      "message": "Bump pillow in /tools/workload/benchmark_velox/analysis (#11940)\n\nBumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to 12.2.0.\n- [Release notes](https://github.com/python-pillow/Pillow/releases)\n- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)\n- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: pillow\n  dependency-version: 12.2.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "6c305d5ff7da1a36bd5ee40a456ae94825781d92",
      "tree": "e736f6a8b4894a362805af30d67bc592cfd3d0ec",
      "parents": [
        "f384947c88134609be8523054eac165921adfa9e"
      ],
      "author": {
        "name": "James Jenkins",
        "email": "108480513+Jenkins-J@users.noreply.github.com",
        "time": "Thu Apr 16 04:12:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 09:12:39 2026 +0100"
      },
      "message": "[GLUTEN-11906][VL] Support dynamic build for ppc64le (#11907)\n\nAdd support for building gluten on the ppc64le architecture\n\nRelated: #11906\n\nSigned-off-by: Chongshi Zhang \u003czhangcho@us.ibm.com\u003e\nCo-authored-by: Chongshi Zhang \u003czhangcho@us.ibm.com\u003e"
    },
    {
      "commit": "f384947c88134609be8523054eac165921adfa9e",
      "tree": "a9b376296bdd142cf45f8b179e912bea0cd94a91",
      "parents": [
        "41a6fd83c1a65e863e436f31a5dc0a1a1a564c01"
      ],
      "author": {
        "name": "Hongze Zhang",
        "email": "hongze.zzz123@gmail.com",
        "time": "Thu Apr 16 14:29:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 14:29:23 2026 +0800"
      },
      "message": "[VL] Delta: Unify code style with Gluten codebase (#11596)"
    },
    {
      "commit": "41a6fd83c1a65e863e436f31a5dc0a1a1a564c01",
      "tree": "75ea4e1f8c3817b49adff2ad5edceef1fcb4e2d9",
      "parents": [
        "ffbf953d54a8dfbeb6b899f1ab6bf05a0e0fd02f"
      ],
      "author": {
        "name": "Mohammad Linjawi",
        "email": "linjawi.mohammad@gmail.com",
        "time": "Thu Apr 16 06:33:35 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 16 11:33:35 2026 +0800"
      },
      "message": "[GLUTEN-10215][VL] Delta 4 UT: sync test infra from Delta 3.3 suites (#11938)\n\nCo-authored-by: Mohammad Linjawi \u003cMohammad.Linjawi@ibm.com\u003e"
    },
    {
      "commit": "ffbf953d54a8dfbeb6b899f1ab6bf05a0e0fd02f",
      "tree": "cc3578697185c7964d5133fd8f160c0c227fdb6f",
      "parents": [
        "835172a9522f9029a702d6c7d723070aa5a517c3"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Wed Apr 15 21:29:50 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 21:29:50 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_15) (#11945)\n\n* [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_04_15)\n\nUpstream Velox\u0027s New Commits:\n16865647b by Bradley Dice, fix: Disable FileHandleCache in TableEvolutionFuzzer to prevent fd exhaustion (#17106)\n5fddc3429 by Masha Basmanova, fix: Use consistent kebab-case for sort-writer finish time slice config key (#17189)\n62a76362b by Masha Basmanova, feat: Add ConfigProperty, ConfigProvider, and QueryConfigProvider (#17182)\nb1fa3934b by Bradley Dice, fix: Allow overriding ARM_BUILD_TARGET in centos-multi.dockerfile (#17060)\n921f619ce by Corey Lammie, refactor(cudf): Unify cuDF operators with a common base class architecture (#16934)\n52b8fe211 by Krishna Pai, fix(ci): Pass github_token to claude-code-action for fork PR support (#17185)\n0582e9023 by Bradley Dice, fix(cudf): Synchronize stream before freeing Arrow host buffers in toCudfTable (#17164)\n1b20c7dde by Krishna Pai, fix(ci): Strip ANSI color codes before extracting build errors (#17152)\n1ec53db5f by Abhinav Mukherjee, Sort function documentation in alphabetical order in array.rst and aggregate.rst (#17001)\n5f23942fa by Rui Mo, misc: Make the `DirectBufferedInput` ctor used for clone protected (#17147)\nc1f8a8faf by Andrii Rosa, fix: Change default TpchConnectorSplit weight (#17159)\n9160fed26 by Pratik Pugalia, fix: Generate majority positive frame offset values in Window Fuzzer (#17153)\ne6afa6349 by Wei He, fix(aggregate): Allow DistinctAggregations to handle literal arguments (#17066)\n6409cae33 by Heidi Han, fix: Capture failure message templates in dwio, experimental, and functions (#17097)\n6efa7db62 by Heidi Han, fix: Capture failure message templates in exec, expression, and type (#17096)\nff18c7b5e by Heidi Han, fix(type): Capture Field not found message template in RowType (#17094)\n922ed652a by Alexander Sizemin, build: Add s2geometry to CI setup scripts (#17131)\n1a85554a5 by Shruti Shivakumar, fix(cudf): Fix CudfEnforceSingleRow hang by moving input_ in getOutput (#17150)\n2fa7690a6 by Shobhit Mehta, feat: Wire SST into Hive connector with end-to-end tests (#17050)\n6e5dc5dfc by Yotam Perlitz, feat(cudf): Add CudfMarkDistinct GPU operator (#16974)\nf8332b86c by James Gill, fix(connector): Fix execution operators to use query-scoped ConnectorRegistry lookup (#17151)\n890f5b5f3 by Ke Wang, fix: Fix processedStrides_ counting per stride instead of per stripe (#17123)\nccedd30f3 by Zhenyuan Zhao, feat: Introduce Avro format (#17084)\nbb4283b9c by Masha Basmanova, feat(joins): Add nullAsValue flag for IS NOT DISTINCT FROM join key semantics (#17137)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\n\n* Fix compile issue\n\n---------\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: Ke Jia \u003cke.jia@ibm.com\u003e"
    },
    {
      "commit": "835172a9522f9029a702d6c7d723070aa5a517c3",
      "tree": "8bd1e13ad082efe8711a6c0f89454162767425af",
      "parents": [
        "c46dc08f3f026993e472cc9063e84d4dbf553fc2"
      ],
      "author": {
        "name": "Rui Mo",
        "email": "rui@apache.org",
        "time": "Wed Apr 15 17:18:43 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 17:18:43 2026 +0100"
      },
      "message": "[VL] Find the aggregate function name by matching result type (#11931)"
    },
    {
      "commit": "c46dc08f3f026993e472cc9063e84d4dbf553fc2",
      "tree": "a0df357404a9cf081721d26724e50a7a735fc630",
      "parents": [
        "edcb50933142863370018cfcc5a049da32644c50"
      ],
      "author": {
        "name": "Anshul Baliga",
        "email": "106268157+anshulbaliga7@users.noreply.github.com",
        "time": "Wed Apr 15 20:37:43 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 16:07:43 2026 +0100"
      },
      "message": "[MINOR][DOCS] Fix several nit issues in docs (#11936)\n\nThis PR adds minor nit fixes in documentation and source comments."
    },
    {
      "commit": "edcb50933142863370018cfcc5a049da32644c50",
      "tree": "10072a32f9700138ac37f642cf8b8613e92d66fe",
      "parents": [
        "0d0890ff4512ad1ccb8e8edbacc44387aeaaa984"
      ],
      "author": {
        "name": "Mingliang Zhu",
        "email": "zhuml1206@gmail.com",
        "time": "Wed Apr 15 23:07:15 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 16:07:15 2026 +0100"
      },
      "message": "[CORE] Refactor common expression mappings out of Spark shims (#11941)\n\nThis PR refactors expression mappings after dropping Spark 3.2 support, simplifying the codebase by moving shared mappings out of version-specific shims and reducing duplication.\n\nRelated issue: #11379"
    },
    {
      "commit": "0d0890ff4512ad1ccb8e8edbacc44387aeaaa984",
      "tree": "c3888c57941708363eced7a2564e7498c543237b",
      "parents": [
        "02bf50bb4c7602ea80df730c0b3f4b1ca330f540"
      ],
      "author": {
        "name": "Philo He",
        "email": "philo@apache.org",
        "time": "Tue Apr 14 23:12:16 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 23:12:16 2026 -0700"
      },
      "message": "[MINOR] Refactor: move ClickHouse-specific extension tests to backend module (#11926)"
    },
    {
      "commit": "02bf50bb4c7602ea80df730c0b3f4b1ca330f540",
      "tree": "e202e5ac0a4c72b9ea5909c5940e9e0de06b05c9",
      "parents": [
        "acb1dc2fd77055edc5c32e00b6609d3f3f9ed607"
      ],
      "author": {
        "name": "JiaKe",
        "email": "ke.jia@ibm.com",
        "time": "Tue Apr 14 18:38:25 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 18:38:25 2026 +0100"
      },
      "message": "[VL] Optimize bhj hash table built performance (#11927)"
    },
    {
      "commit": "acb1dc2fd77055edc5c32e00b6609d3f3f9ed607",
      "tree": "7071479aa2fba1a6bb6ff8f390ffb5cb074e99a5",
      "parents": [
        "1eb741670eaa72bcb6a6ac4d8cf1e03950ebbc94"
      ],
      "author": {
        "name": "Rui Mo",
        "email": "rui@apache.org",
        "time": "Tue Apr 14 12:23:04 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 12:23:04 2026 +0100"
      },
      "message": "[CPP] Format cpp code (#11932)\n\nFormats the C++ code by running \u0027dev/format-cpp-code.sh\u0027 using clang-format version 15.0.7.\nEnables the format check for `*.cc` files."
    },
    {
      "commit": "1eb741670eaa72bcb6a6ac4d8cf1e03950ebbc94",
      "tree": "1d401030d2c9657ea68b957ab9d9420d5987053f",
      "parents": [
        "0f0a70111a5a443baf3ffbe347632e64080e9b38"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Mon Apr 13 17:38:42 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 17:38:42 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_04_13) (#11930)\n\nUpstream Velox\u0027s New Commits:\n948e7be06 by Chengcheng Jin, fix(cudf): Fix stream and mr in SubfieldFiltersToAst (17135)\n0d7d1fc62 by Xiaoxuan Meng, feat: Add isPointLookup() to EncodedKeyBounds (17138)\n579bf1701 by Xiaoxuan Meng, refactor: Simplify IndexLookupJoin stat recording (17133)\ndc5e3e5cf by Konjac Huang, feat: support paimon append \u0026 primary with rawConvertible\u003dtrue read (17134)\n5a729d8b8 by Karthikeyan Natarajan, fix(cudf): Fix count aggregation condition to run all count on GPU (17035)\nbceaa5e77 by Pramod Satya, fix(cuDF): Fix debug build failure (17011)\n1a3d930f7 by Muhammad Haseeb, fix: Print verbose errors in cudf deps updater (16332)\n2664d0603 by Muhammad Haseeb, fix(cudf): Use `enqueueForDevice` for cudf buffered input data source (16732)\n65f27591c by Christian Zentgraf, refactor(S3): Consolidate S3Config ownership in S3FileSystem::Impl (17090)\ncc5af4369 by Yotam Perlitz, feat(cudf): Add CudfEnforceSingleRow GPU operator (16920)\nab55087ed by Xiaoxuan Meng, feat: Add IndexLookupJoinBridge for multi-threaded index split sharing (17109)\n355a8d96e by lingbin, refactor: Change OpCallStatus from struct to class (17029)\n218bdb8cb by Natasha Sehgal, refactor: CastExpr uses CastRulesRegistry, remove operator methods (17016)\nb8939f423 by generatedunixname1395027625275998, fbcode/velox/vector/BaseVector.cpp (17127)\n10b035b63 by Natasha Sehgal, feat: Register custom type cast rules and fix coerceTypeBase for parametric types (17006)\n98d430054 by Pratik Pugalia, fix: Skip approx_percentile in Spark Aggregation Fuzzer (17126)\na9c6e30b2 by Pedro Eugenio Rocha Pedreira, fix(dwrf): SelectiveFlatMapReader crash on multi-stripe files with different key sets (17101)\n1dbd200e0 by Krishna Pai, fix(build): Disable grouped tests on macOS for individual test discovery (17026)\n9c85b3ee5 by Rui Mo, perf: Optimize basic numeric upcast (16967)\n60fd9540c by Jake Jung, refactor(udf): Accept std::string_view in vector function registration APIs (17119)\n52a7aad1b by Krishna Pai, feat(ci): Add fuzzer failure analysis to CI failure comment workflow (17120)\n853436391 by Peter Enescu, fix: Add implicit DECIMAL to REAL/DOUBLE type coercion (17083)\n4ef96c0c2 by Masha Basmanova, docs: Add blog post about why NULLIF must be a special form (17117)\nebfab23b0 by Masha Basmanova, refactor: Return AggregateCallExpr and WindowCallExpr directly from DuckDB parser (17089)\nca9f06609 by Masha Basmanova, feat: Add WindowCallExpr untyped expression (17077)\nfed3e61d8 by Zac Wen, fix: Separate probe-side IO stats in IndexLookupJoin (17085)\nc195717ab by Jimmy Lu, feat: Add extraction ScanSpec pushdown and HiveDataSource integration (16968)\n6b130fadf by Peter Enescu, fix: Anonymous stringified ROW dereferences (17093)\nef3ea4403 by Pratik Pugalia, build: Disable misc-include-cleaner clang-tidy check in GitHub CI (17100)\ndabb1e6da by Christian Zentgraf, fix(ci): Missing symbol ConnectorRegistry::tryGet in velox_exec lib (17032)\n3e0eacbf2 by Huameng (Michael) Jiang, feat(stats): Enable nimble column stats by default (17086)\n318aec8c3 by Krishna Pai, feat(ci): Add test failure reporting with PR comments and error annotations (17015)\nc1ff7e045 by Peter Enescu, fix: Resize flat map values vector in when copy target changes (17071)\n502532e68 by Masha Basmanova, feat: Add AggregateCallExpr untyped expression (17075)\n043ad36fa by Ke Wang, refactor: Rename hive.reader.collect-column-stats to collect-column-cpu-metrics (17073)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e"
    },
    {
      "commit": "0f0a70111a5a443baf3ffbe347632e64080e9b38",
      "tree": "d39e236b77fe67e63853994b65e8e7ffcf0d1c6f",
      "parents": [
        "3dd279f7dcfcccc24cf5c2629299d912f0f2dc4d"
      ],
      "author": {
        "name": "inf",
        "email": "ialhazmim@gmail.com",
        "time": "Mon Apr 13 11:49:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 19:49:22 2026 +0800"
      },
      "message": "Enable enhanced tests for spark 4.0 \u0026 fix failures (#11868)\n\nCo-authored-by: Yuan \u003cyuanzhou@apache.org\u003e\n\nCo-authored-by: infvg \u003calhazmi@ibm.com\u003e"
    },
    {
      "commit": "3dd279f7dcfcccc24cf5c2629299d912f0f2dc4d",
      "tree": "dcffcbdbef696503c41b7103b45c9feeddda27af",
      "parents": [
        "c5280f8b73fadebb1f9393cc1d14676a740e2c7a"
      ],
      "author": {
        "name": "Mariam AlMesfer",
        "email": "65206318+Mariamalmesfer@users.noreply.github.com",
        "time": "Mon Apr 13 12:56:17 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 10:56:17 2026 +0100"
      },
      "message": "[GLUTEN-11622][VL] Adds missing validation tests for timestamp related functions (#11890)\n\nAdd tests for some missing timestamp functions in the Velox backend.\n\nNew tests include:\nMinute\nSecond\nSecondsToTimestamp\nToUnixTimestamp\nFromUnixTime\nLastDay\nNextDay\n\nRelated issue: #11622\n\nCo-authored-by: Mariam-Almesfer \u003cmariam.almesfer@ibm.com\u003e"
    },
    {
      "commit": "c5280f8b73fadebb1f9393cc1d14676a740e2c7a",
      "tree": "35e5a91333786fc77a01077e539cdee7a14ec46e",
      "parents": [
        "3af2e339674304549c3cf2cce3cb9941d39661a2"
      ],
      "author": {
        "name": "Mingliang Zhu",
        "email": "zhuml1206@gmail.com",
        "time": "Mon Apr 13 09:08:49 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 13 09:08:49 2026 +0800"
      },
      "message": "[CORE] Move ClickHouse-only extended rule configs from GlutenConfig to CHConfig (#11897)"
    },
    {
      "commit": "3af2e339674304549c3cf2cce3cb9941d39661a2",
      "tree": "7322198c2910e24b11235d97a4f54eb52fd8228c",
      "parents": [
        "4ead43d660066ea5ab50df3cd78252e5c54db82d"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Sat Apr 11 09:37:30 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 11 09:37:30 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_08) (#11891)\n\n* [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_04_08)\n\nUpstream Velox\u0027s New Commits:\nd7891436c by Masha Basmanova, fix: Skip custom type coercion for parameterized types (#17064)\nfbda33022 by Han Yan, feat(dwio): Add BufferPool for reusing cached BufferPtr objects (#17042)\n6e5224164 by Krishna Pai, fix(ci): Add OIDC permission and unrestrict Bash for CI failure analysis (#17061)\nb43a8c892 by Peter Enescu, feat: Allow EncodedVectorCopy to generate FlatMapVector in non-NULL vectors (#16161)\n1355dd3ab by Pratik Pugalia, fix: GetTimestampFunction recompiling datetime format on every row (#17037)\nc7d5b0104 by Krishna Pai, fix(ci): Use bash parameter expansion for multiline metadata substitution (#17058)\n472701f4a by Pratik Pugalia, fix: Remove per-query timeout in TableEvolutionFuzzer (#17046)\n933dd4e10 by Kevin Wilfong, fix: Remove unnecessary output_ field from IndexLookupJoin (#17043)\n034f86cb0 by Pratik Pugalia, fix: Increase Presto request timeout for parallel fuzzer runs (#17049)\nba21e5661 by Ke Wang, fix: Allow IoStats to override storageReadBytes in getRuntimeStats (#17036)\n39d3494de by Masha Basmanova, fix: Change array_sort comparator lambda return type from bigint to integer (#17030)\n682c4a8e7 by Artem Selishchev, fix: Catch exceptions from TaskCompletionListeners in Task::onTaskCompletion() (#17051)\nc3f34536b by Varun Srinivas, fix(remote): Use VELOX_USER_FAIL for remote error re-throwing (#16903)\na7d9036ae by Krishna Pai, feat(ci): Use Claude to analyze CI failures and post diagnostic PR comments (#17039)\ne9d03d8b3 by Kk Pulla, fix(exec): Fix data race in OutputBuffer::getUtilization and isOverutilized (#17009)\nfe24ae068 by Pratik Pugalia, fix: BetweenFunction to handle NaN with correct Spark semantics (#17025)\ndd58b1536 by Rui Mo, fix: Change count metric from signed to unsigned (int64_t -\u003e uint64_t) (#16989)\n303bba60c by Mahadevuni Naveen Kumar, refactor: Revert iceberg data file statistics changes (#16999)\na649489c1 by Simon Eves, fix(cudf): Fix failure in ToCudfSelectionTest.zeroColumnCountConstantFallsBack (#17031)\n95894c30a by Christian Zentgraf, feat(s3): Add support for hive.s3.min-part-size when writing (#16935)\n01b86e20d by Konjac Huang, refactor: refactor filebased datasource (#16914)\n7ea56098a by Rajeev Singh, feat(expr-eval): Fix flaky adaptiveCpuSamplingPerFunctionRates test (#17002)\n37e897b30 by joey.ljy, test: Use VectorFuzzer for random RowVector generation in `semiJoinDeduplicateResetCapacity` test (#15748)\n509ab8fd2 by Chengcheng Jin, feat(cudf): Add config to set timestamp unit (#16769)\n338598815 by Masha Basmanova, refactor: Migrate production code to ConnectorRegistry API and deprecate free functions (#16986)\nb65b5c1c5 by Pratik Pugalia, fix: TempFilePath fd_ member initialization order bug causing flaky test failures (#17020)\n95ce76125 by Rui Mo, test: Extend cast tests in the expression fuzzer test (#16990)\n4fb74c52f by Miguel Blanco Godón, feat: Support reading PARQUET files with zero offset (#16456)\n1dfcfbbcc by Kent Yao, fix(sparksql): Default ignoreNulls to true for collect_set backward compatibility (#16947)\n65800681f by Masha Basmanova, refactor: Migrate test and fuzzer code to ConnectorRegistry API (#16985)\n4acf9bb28 by Masha Basmanova, feat: Add ScopedRegistry and query-scoped connector lookups (#16982)\n4a966b2ef by Pratik Pugalia, Fix: SIGSEGV in AggregationFuzzer when reference query returns empty result vector (#17018)\n4bbea83dc by Krishna Pai, feat(ci): Add workflow_run workflow for posting CI failure comments on PRs (#17022)\nd14cd0c27 by Matt Gara, fix(cudf): Enable GPU execution for count(*), count(column), and count(NULL) (#16522)\n084f2221a by Rui Mo, misc: Make `DirectBufferedInput` clone fields protected (#16979)\nd9c1b6ea3 by Krishna Pai, build(ci): Grant pull-requests write permission to Linux build workflow (#17021)\ncff0a6e36 by David Reveman, build: Update perfetto SDK to v54 (#17004)\n7534c2e47 by Bradley Dice, fix(cudf): Refactor CudfToVelox output batching to avoid O(n) D-\u003eH syncs (#16620)\nf736ec1d8 by Masha Basmanova, refactor: Add thread safety to connector registry (#16978)\nb79f0d188 by Krishna Pai, feat(ci): Add flaky test retry and JUnit XML reporting (#17003)\ncf7d5a7b7 by Natasha Sehgal, feat: Add pmod (positive modulo) function to Presto SQL (#17008)\n388105ba3 by Bradley Dice, fix(build): Add missing GTest::gmock link to velox_hive_connector_test (#16996)\n9d7a2ee24 by Andrii Rosa, fix: support NaN and Inf serialization for Variant (#17007)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\n\n* Resolve compile issue\n\n* feat(velox): Support RESPECT NULLS for collect_list/collect_set\n\nAdd ignoreNulls parameter to VeloxCollectList/VeloxCollectSet to support\nSpark\u0027s RESPECT NULLS syntax (SPARK-55256). When ignoreNulls\u003dfalse, null\nelements are included in the collected array.\n\n- VeloxCollect: conditionally skip nulls based on ignoreNulls parameter\n- CollectRewriteRule: propagate ignoreNulls from Spark\u0027s CollectList/CollectSet\n  via reflection (backward-compatible with Spark versions without ignoreNulls)\n- ArrayType containsNull reflects the ignoreNulls setting\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* fix(velox): Handle generic-typed companion function lookup for collect_set/list\n\nWhen aggregate functions have multiple signatures with the same intermediate\ntype (e.g., collect_set with 1-arg and 2-arg signatures), Velox registers\ncompanion functions with suffix using generic type variables (e.g.,\ncollect_set_merge_extract_array_T). The Substrait layer was constructing\nconcrete type suffixes (e.g., array_row_VARCHAR_BIGINT_BIGINT_endrow) that\ndon\u0027t match.\n\nFix: After failing exact concrete suffix lookup, fall back to discovering\ncompanion function names via getCompanionFunctionSignatures() API.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* trigger\n\n---------\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: Ke Jia \u003cke.jia@ibm.com\u003e\nCo-authored-by: Kent Yao \u003ckentyao@microsoft.com\u003e\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\nCo-authored-by: Yuan \u003cyuanzhou@apache.org\u003e"
    },
    {
      "commit": "4ead43d660066ea5ab50df3cd78252e5c54db82d",
      "tree": "39bb89ad90b6ff335cd32576f37db0f7b21cfcaa",
      "parents": [
        "c15283bda8e6f9ff672840d768bc0e7a53995ce9"
      ],
      "author": {
        "name": "Asish Kumar",
        "email": "87874775+officialasishkumar@users.noreply.github.com",
        "time": "Sat Apr 11 12:54:25 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 11 00:24:25 2026 -0700"
      },
      "message": "[GLUTEN-11715][VL] Add fallback mirrors for libelf downloads (#11904)\n\nAdd two verified mirrors ahead of the existing Fossies URL in the custom libelf vcpkg port so builds can continue when a single host is unavailable. The pinned SHA512 remains unchanged because all mirrors serve the same archive."
    },
    {
      "commit": "c15283bda8e6f9ff672840d768bc0e7a53995ce9",
      "tree": "dc3fba61e0e3d0ea71cbecf60990335813056f3e",
      "parents": [
        "083b66aabb3e4be8cae8bcac23b6dbaeb90e1422"
      ],
      "author": {
        "name": "Chang Chen",
        "email": "changchen@microsoft.com",
        "time": "Fri Apr 10 23:24:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 16:24:52 2026 +0100"
      },
      "message": "[GLUTEN-11550][UT] Fix 2 TPCDS traits, enable 8 disabled test suites for Spark 4.x (#11816)\n\n* [GLUTEN-11550][UT] Fix 2 TPCDS suite traits + disable 1 (VTS-only changes)\n\nFix trait GlutenTestsCommonTrait -\u003e GlutenSQLTestsTrait:\n- GlutenTPCDSQueryWithStatsSuite\n- GlutenTPCDSQueryANSISuite\n\nDisable GlutenStreamingQueryHashPartitionVerifySuite (wrong trait, runs as vanilla Spark)\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Enable GlutenCsvExpressionsSuite\n\nWrap exception in glutenCheckExpression with fail() to match Spark\u0027s\ncheckEvaluationWithoutCodegen behavior. No testGluten override needed.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Enable GlutenWholeTextFileV1Suite and GlutenWholeTextFileV2Suite\n\nOverride testFile() to use getWorkspaceFilePath() instead of default\njar-based path. The default testFile() returns jar:file: URI which\nHadoop Path does not support. Same pattern used by GlutenCSVSuite,\nGlutenJsonSuite, GlutenParquetIOSuite.\nV1 3/3 passed, V2 3/3 passed.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Enable GlutenSparkPlanSuite\n\nOverride test to find ColumnarToRowExecBase instead of ColumnarToRowExec.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Enable GlutenInsertSortForLimitAndOffsetSuite\n\n6 tests rewritten with testGluten (match TakeOrderedAndProjectExecTransformer,\nLimitExecTransformer, ColumnarCollectLimitBaseExec). Original tests excluded.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Enable GlutenJoinHintSuite\n\ntestGluten for shuffle-replicate-nl matching CartesianProductExecTransformer.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Enable DataSourceScanExec/V2 redaction suites with testGluten\n\nEnable and fix:\n- GlutenDataSourceScanExecRedactionSuite: testGluten matching FileSourceScanExecTransformer\n- GlutenDataSourceV2ScanExecRedactionSuite: testGluten matching BatchScanExecTransformer\n- VTS: enable JoinHint with exclude, enable DataSource suites with excludes\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "083b66aabb3e4be8cae8bcac23b6dbaeb90e1422",
      "tree": "1a10186fc91646e139d314c4aac4d80b97f91844",
      "parents": [
        "0fbec927b43d62beded4c7046ad299d2abba0a07"
      ],
      "author": {
        "name": "Yuan",
        "email": "yuanzhou@apache.org",
        "time": "Fri Apr 10 04:15:17 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 11:15:17 2026 +0800"
      },
      "message": "[GLUTEN-10948][VL] Enable get_json_object UT (#11902)\n\nThe test is ignored previously, this patch re-enabled it\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e"
    },
    {
      "commit": "0fbec927b43d62beded4c7046ad299d2abba0a07",
      "tree": "54b92dd4b8bfb094c0b5598f6edd1962ab523d1f",
      "parents": [
        "ed93689677a4f2b872f5c150ac00b4686a4d2e86"
      ],
      "author": {
        "name": "Chang Chen",
        "email": "changchen@microsoft.com",
        "time": "Fri Apr 10 11:14:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 11:14:16 2026 +0800"
      },
      "message": "[GLUTEN-11550][UT] Add GlutenTestSetWithSystemPropertyTrait, enable 6 suites, remove 7 TestHiveSingleton suites, fix JobTagging flaky test (#11847)\n\n* [GLUTEN-11550][UT] Add GlutenTestSetWithSystemPropertyTrait and enable 6 suites\n\nAdd a reusable trait for test suites whose parent creates per-test\nSparkContext/SparkSession (via LocalSparkContext/LocalSparkSession).\nIt injects GlutenPlugin config via system properties so per-test\nsessions inherit it, avoiding shared session conflicts.\n\nEnable 6 suites by switching to this trait:\n- GlutenSQLExecutionSuite (SQLExecutionSuite: new SparkContext internally)\n- GlutenSQLJsonProtocolSuite (SQLJsonProtocolSuite with LocalSparkSession)\n- GlutenShufflePartitionsUtilSuite (ShufflePartitionsUtilSuite with LocalSparkContext)\n- GlutenExternalAppendOnlyUnsafeRowArraySuite (with LocalSparkContext)\n- GlutenUnsafeRowSerializerSuite (UnsafeRowSerializerSuite with LocalSparkSession)\n- GlutenSparkSessionJobTaggingAndCancellationSuite (with LocalSparkContext)\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Remove TestHiveSingleton suites that cannot load GlutenPlugin\n\nRemove 7 test suites (spark40 + spark41) that extend TestHiveSingleton.\nTestHiveSingleton.spark (protected val) conflicts with Gluten test traits\u0027\nspark (implicit protected def), making it impossible to load GlutenPlugin.\n\nThe non-Hive variants (e.g. GlutenBucketedReadWithoutHiveSupportSuite)\nare already enabled and cover the same functionality.\n\nRemoved suites:\n- GlutenBucketedReadWithHiveSupportSuite\n- GlutenBucketedWriteWithHiveSupportSuite\n- GlutenDisableUnnecessaryBucketedScanWithHiveSupportSuite\n- GlutenCommitFailureTestRelationSuite\n- GlutenJsonHadoopFsRelationSuite\n- GlutenParquetHadoopFsRelationSuite\n- GlutenSimpleTextHadoopFsRelationSuite\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* [GLUTEN-11550][UT] Fix JobTagging flaky test with fresh thread pool\n\nThe original test uses ExecutionContext.global whose ForkJoinPool reuses\nthreads created long before addTag(). InheritableThreadLocal (used by\nmanagedJobTags) only copies values at thread creation time, so reused\nthreads see an empty tag map. This causes withSessionTagsApplied to not\nattach the user tag to the job, making cancelJobsWithTagWithFuture\nreturn empty.\n\nFix: testGluten override that creates a fresh SingleThreadExecutor AFTER\naddTag(), ensuring the new thread inherits InheritableThreadLocal values.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "ed93689677a4f2b872f5c150ac00b4686a4d2e86",
      "tree": "da6544baa28ceb58810a614277a34e08341f0a0a",
      "parents": [
        "86f2d2c8710765f40ddadda5009e1c43b8d2d03c"
      ],
      "author": {
        "name": "Chungmin Lee",
        "email": "chungminlee@microsoft.com",
        "time": "Thu Apr 09 17:44:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 17:44:24 2026 -0700"
      },
      "message": "[GLUTEN-XXXX][CORE] Fix URL-encoded paths in ResourceUtil causing JAR loading failures (#11672)\n\nFix URL-encoded path handling in ResourceUtil.getResources() by using URL.toURI() and URI for proper path decoding instead of URL.getPath()."
    },
    {
      "commit": "86f2d2c8710765f40ddadda5009e1c43b8d2d03c",
      "tree": "7df659c18a6f95bbc78aa763b599b41c65f8e0a9",
      "parents": [
        "798ddcc5415e6fd480ea198270387c392d9ed62d"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Fri Apr 10 05:10:48 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:40:48 2026 -0700"
      },
      "message": "Use single formatter instance across all files (#11843)\n\nThis PR moves DateFormatter and TimestampFormatter instantiation out of the inner file iteration loops in CHIteratorApi and VeloxIteratorApi so a single instance is reused across all files."
    },
    {
      "commit": "798ddcc5415e6fd480ea198270387c392d9ed62d",
      "tree": "3df2614310960b6506616eb33184741aa62451db",
      "parents": [
        "08da649f0880e35151071cdec4020b999eb4c149"
      ],
      "author": {
        "name": "Zouxxyy",
        "email": "zouxinyu.zxy@alibaba-inc.com",
        "time": "Fri Apr 10 07:30:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:30:45 2026 -0700"
      },
      "message": "[CORE][UI] Fix fallback info for V2 writes and align plan with Spark SQL tab (#11853)\n\nFix Gluten UI not displaying fallback info for V2 writes (e.g., Iceberg INSERT with sort order), and align the plan display with Spark SQL tab (consistent operator IDs, complete plan tree)."
    },
    {
      "commit": "08da649f0880e35151071cdec4020b999eb4c149",
      "tree": "4c2fbe562971ac53862c7e209ed4d3557f765bee",
      "parents": [
        "89a77b6f7d0e78c7947703eb1fae98381341e9bc"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Fri Apr 10 04:55:14 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 16:25:14 2026 -0700"
      },
      "message": "[VL] Remove metrics try-catch, fix Generate metrics, and handle missing join/aggregation params (#11861)\n\nThis PR removes the silent try/catch in MetricsUtil.genMetricsUpdatingFunction that was masking metrics bugs and fixes metrics issues across different files:\n\nAdds proper Generate transformer metrics to VeloxMetricsApi\nRegisters JoinParams for CartesianProductExecTransformer with postProjectionNeeded \u003d false\nAdds null-safe defaults for missing join/aggregation params in metrics updates"
    },
    {
      "commit": "89a77b6f7d0e78c7947703eb1fae98381341e9bc",
      "tree": "bbb1ddc8445ce516e741d8f8e19c79c23ffe7850",
      "parents": [
        "9b268b52d342efc576f1b2fb0529b8d2e6a0c0e8"
      ],
      "author": {
        "name": "JiaKe",
        "email": "ke.jia@ibm.com",
        "time": "Thu Apr 09 14:00:02 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 14:00:02 2026 +0100"
      },
      "message": "[GLUTEN-11888] [VL] Parallel build hash table to improve bhj performance (#11889)"
    },
    {
      "commit": "9b268b52d342efc576f1b2fb0529b8d2e6a0c0e8",
      "tree": "985a53684a50ddf0f5b777372b7543887b0fd254",
      "parents": [
        "75b4323d3cb87a269babf310ac03588699b92e0a"
      ],
      "author": {
        "name": "JiaKe",
        "email": "ke.jia@ibm.com",
        "time": "Wed Apr 08 16:38:13 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 16:38:13 2026 +0100"
      },
      "message": "[GLUTEN-11888][VL]Remove the synchronized lock in VeloxBroadcastBuildSideCache (#11834)"
    },
    {
      "commit": "75b4323d3cb87a269babf310ac03588699b92e0a",
      "tree": "9781797a24a0d2603e624bec7f79fd3191e325e6",
      "parents": [
        "65e30140450f8b26e0d4dc646f8a42247ed0c4de"
      ],
      "author": {
        "name": "Philo He",
        "email": "philo@apache.org",
        "time": "Wed Apr 08 03:48:56 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 11:48:56 2026 +0100"
      },
      "message": "[MINOR] Remove Spark 3.2 tests (#11887)\n\nSince Spark 3.2 support was dropped a few months ago, the related tests can be removed now.\n\nrelated: #11379"
    },
    {
      "commit": "65e30140450f8b26e0d4dc646f8a42247ed0c4de",
      "tree": "673e7cdd0ccd5fbdaa2e09ac48dc0d14a8868a26",
      "parents": [
        "71b18036ac33caf7bc698947d30e8357748684a5"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Tue Apr 07 13:30:17 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 13:30:17 2026 +0100"
      },
      "message": "[GLUTEN-9219][VL] Update on function support docs (#11881)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e"
    },
    {
      "commit": "71b18036ac33caf7bc698947d30e8357748684a5",
      "tree": "91ff62e29bc52a0477e9a90d8aef288a8c2c2e3e",
      "parents": [
        "6383199ae8c52f7baa03ca1c49f8de32b1230911"
      ],
      "author": {
        "name": "Zhichao Zhang",
        "email": "zhangzc@apache.org",
        "time": "Tue Apr 07 18:22:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 18:22:48 2026 +0800"
      },
      "message": "[GLUTEN-11838] Enable \u0027Eliminate two aggregate joins with attribute reordered\u0027 suite (#11884)\n\nAfter #9473 , there is an issue when executing suite \u0027Eliminate two aggregate joins with attribute reordered\u0027."
    },
    {
      "commit": "6383199ae8c52f7baa03ca1c49f8de32b1230911",
      "tree": "1aac9f54e16a48c5848796987ac1ec731cff6efa",
      "parents": [
        "acafe677f192e8b1902a0b0c5c90f884a656865c"
      ],
      "author": {
        "name": "exmy",
        "email": "xumovens@gmail.com",
        "time": "Tue Apr 07 18:21:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 18:21:39 2026 +0800"
      },
      "message": "[GLUTEN-11849][CH] Fix diff for var_samp returns NaN instead of NULL when effective row count \u003c 2 (#11850)\n\nCo-authored-by: xumingyong \u003cxumingyong@bigo.sg\u003e"
    },
    {
      "commit": "acafe677f192e8b1902a0b0c5c90f884a656865c",
      "tree": "bb2930f1b642b679bc86fe2937d0896c71f968a6",
      "parents": [
        "705026dc2f66a804969590f0c88cc866916893f0"
      ],
      "author": {
        "name": "Mariam AlMesfer",
        "email": "65206318+Mariamalmesfer@users.noreply.github.com",
        "time": "Tue Apr 07 12:31:56 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 10:31:56 2026 +0100"
      },
      "message": "[GLUTEN-1433] [VL] Add config to disable TimestampNTZ validation fallback (#11720)\n\nThis PR adds a config to control fallback validation for TimestampNTZType in the Velox backend and adds a test for localtimestamp().\n\nCurrently, the validator treats TimestampNTZType as unsupported and forces the query to fall back to Spark. This makes it hard to develop and test features related to TimestampNTZ, including functions like localtimestamp().\n\nWith this change, the validation rule can be temporarily disabled during development and testing.\n\nRelated issue: #1433\n\nCo-authored-by: Mariam-Almesfer \u003cmariam.almesfer@ibm.com\u003e"
    },
    {
      "commit": "705026dc2f66a804969590f0c88cc866916893f0",
      "tree": "dc4597991cde7bf19a3512916cba3e2cdd925f40",
      "parents": [
        "0322f4391f8f57a013d56a31f68d6a19743314e3"
      ],
      "author": {
        "name": "jiangjiangtian",
        "email": "97602666+jiangjiangtian@users.noreply.github.com",
        "time": "Tue Apr 07 14:26:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 23:26:01 2026 -0700"
      },
      "message": "[MINOR] Expose Gluten and component build information to SparkConf (#11838)"
    },
    {
      "commit": "0322f4391f8f57a013d56a31f68d6a19743314e3",
      "tree": "6b51ea6eb1d383af38bd0ed37a373243be511d04",
      "parents": [
        "1f37756114af1a0cb065070da046213a799c66e9"
      ],
      "author": {
        "name": "BInwei Yang",
        "email": "felixybw@apache.org",
        "time": "Mon Apr 06 19:54:50 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 10:54:50 2026 +0800"
      },
      "message": "[VL] Use UnboundedBlockingQueue when create threads pool (#11877)"
    },
    {
      "commit": "1f37756114af1a0cb065070da046213a799c66e9",
      "tree": "a7efb57e0db3863bb901d14d3c11209690a74ad0",
      "parents": [
        "b64cd7bcf198bdc948b0fdb696a344dc5069dc76"
      ],
      "author": {
        "name": "Yuan",
        "email": "yuanzhou@apache.org",
        "time": "Mon Apr 06 18:14:02 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 06 10:14:02 2026 -0700"
      },
      "message": "[GLUTEN-11872][VL] Fix docker metadata action version (#11875)"
    },
    {
      "commit": "b64cd7bcf198bdc948b0fdb696a344dc5069dc76",
      "tree": "b9f27f0166c9be8162e427171988a72f9e43b998",
      "parents": [
        "7b638f0e0d4a5ca53a558a8ee0788ca4eca77f58"
      ],
      "author": {
        "name": "Wechar Yu",
        "email": "yuwq1996@gmail.com",
        "time": "Fri Apr 03 22:35:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 22:35:56 2026 +0800"
      },
      "message": "[GLUTEN-11678][VL] Native validation should check CrossRelNode\u0027s expression (#11679)\n\nCheck the CrossRelNode\u0027s expression, fallback it if experssion is not supported.\nFix #11678."
    },
    {
      "commit": "7b638f0e0d4a5ca53a558a8ee0788ca4eca77f58",
      "tree": "e3a93cacaee95b25be2389b9f435b8319db08274",
      "parents": [
        "0fff1a809916dae2823b5f52fdc784d5727801cd"
      ],
      "author": {
        "name": "Gluten Performance Bot",
        "email": "137994563+GlutenPerfBot@users.noreply.github.com",
        "time": "Fri Apr 03 15:20:21 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 15:20:21 2026 +0100"
      },
      "message": "[GLUTEN-6887][VL] Daily Update Velox Version (2026_04_01) (#11860)\n\n* [GLUTEN-6887][VL] Daily Update Velox Version (dft-2026_04_01)\n\nUpstream Velox\u0027s New Commits:\n24e6ab97b by Chengcheng Jin, fix(cudf): Fix complex data type name in format conversion and add tests(Part1) (#16818)\nd92b90029 by Natasha Sehgal, refactor: Propagate CastRule cost through canCoerce (#16821)\n361a42252 by Rui Mo, fix(fuzzer): Reduce Spark aggregate fuzzer test pressure (#16964)\n2c2fe2ab7 by root, fix: Ignore string column statistics for parquet-mr versions before 1.8.2 (#16744)\n7faf27a86 by Chengcheng Jin, feat(cudf): Add the log to show detailed fallback messgae (#16900)\ne603315e5 by Chang chen, feat(parquet): Add type widening support for INT and Decimal types with configurable narrowing (#16611)\n1e1674dd8 by Rajeev Singh, docs: Add blog post for Adaptive per-function CPU tracking (#16945)\n0c6b89d61 by Masha Basmanova, fix(build): Guard fuzzer examples subdirectory with VELOX_BUILD_TESTING (#16992)\n8d6355d8d by Pratik Pugalia, build: Improve build impact comment layout (#16971)\n44d561990 by Masha Basmanova, refactor: Add ConnectorRegistry class with tryGet and unregisterAll (#16977)\n793f13f16 by Rajeev Singh, feat(expr-eval):Adaptive per-function CPU sampling for Velox expression evaluation (#16646)\n1a4dc7a5a by Pratik Pugalia, fix: Off-by-one boundary bug in make_timestamp validation (#16944)\n7f2c75c26 by Pratik Pugalia, Fix incorrect substr length in Tokenizer::matchUnquotedSubscript (#16972)\n22b90045e by Masha Basmanova, docs: Add truncate markers to blog posts for cleaner listing page (#16975)\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\n\n* Fix SPARK-18108: exclude partition columns from HiveTableHandle dataColumns\n\nWhen Gluten creates HiveTableHandle, it was passing all columns (including\npartition columns) as dataColumns. This caused Velox\u0027s convertType() to\nvalidate partition column types against the Parquet file\u0027s physical types,\nfailing when they differ (e.g., LongType in file vs IntegerType from\npartition inference).\n\nFix: build dataColumns excluding partition columns (ColumnType::kPartitionKey).\nPartition column values come from the partition path, not from the file.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* Point Velox to PR3 branch with parquet type widening support\n\n* Update VeloxTestSettings for Velox PR2\n\nWith OAP INT narrowing commit replaced by upstream Velox PR #15173:\n- Remove 2 excludes now passing: LongType-\u003eIntegerType, LongType-\u003eDateType\n- Add 2 excludes for new failures: IntegerType-\u003eShortType (OAP removed)\n\nExclude 63 (net unchanged: -2 +2). Test results: 21 pass / 63 ignored.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* Disable native writer for ParquetTypeWideningSuite\n\nThis suite tests the READ path only. Disable native writer so Spark\u0027s\nwriter produces correct V2 encodings (DELTA_BINARY_PACKED/DELTA_BYTE_ARRAY).\n- Remove 10 excludes for decimal widening tests now passing\n\nRemaining 38 excludes:\n- 34: Velox native reader rejects incompatible decimal conversions\n  regardless of reader config (no parquet-mr fallback)\n- 4: Velox does not support DELTA_BYTE_ARRAY encoding\n\nTest results: 46 pass / 38 ignored.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\n\n* Override 33 type widening tests with expectError\u003dtrue\n\nVelox native reader always behaves like Spark\u0027s vectorized reader,\nso tests that rely on parquet-mr behavior (vectorized\u003dfalse) fail.\nInstead of just excluding these 33 tests, add testGluten overrides\nwith expectError\u003dtrue to verify Velox correctly rejects incompatible\nconversions.\n\n- 16 unsupported INT-\u003eDecimal conversions\n- 6 decimal precision narrowing cases\n- 11 decimal precision+scale narrowing/mixed cases\n\nVeloxTestSettings: 38 excludes (parent tests) + 33 testGluten overrides\nTest results: 79 pass / 38 ignored (33 excluded parent + 5 truly excluded)\n\n* fix velox rebase\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n* ignore ut\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n* ignore more ut\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n* fix ignore api\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n* ignore failed ut\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n* fix on clickhouse tpcds queries\n\nthe testing data on clickhouse side is not upated, so revert to use the old query\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n* fix q30\n\n* ignore ut\n\n* fix\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\n\n---------\n\nSigned-off-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e\nCo-authored-by: glutenperfbot \u003cglutenperfbot@glutenproject-internal.com\u003e\nCo-authored-by: Chang chen \u003cchangchen@microsoft.com\u003e\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\nCo-authored-by: Chang chen \u003cchangchen@apache.org\u003e\nCo-authored-by: Yuan \u003cyuanzhou@apache.org\u003e"
    },
    {
      "commit": "0fff1a809916dae2823b5f52fdc784d5727801cd",
      "tree": "24931a6f2c2873dee5086182bce5c16c41d55fef",
      "parents": [
        "cda0405aa2ccc80cfe67c6395c3473e252cf33cf"
      ],
      "author": {
        "name": "Yuan",
        "email": "yuanzhou@apache.org",
        "time": "Fri Apr 03 10:53:45 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 03 10:53:45 2026 +0100"
      },
      "message": "[GLUTEN-11872][VL] Fix docker build (#11873)\n\nbump the actions to match apache policies, also fixed the cache image build\n\nSigned-off-by: Yuan \u003cyuanzhou@apache.org\u003e"
    },
    {
      "commit": "cda0405aa2ccc80cfe67c6395c3473e252cf33cf",
      "tree": "7ff8ab59ac478365a60748c38023c776823e8338",
      "parents": [
        "8bd4e2b783aa6c4a3030e929e8a5b5f05ab7fb87"
      ],
      "author": {
        "name": "JiaKe",
        "email": "ke.jia@ibm.com",
        "time": "Thu Apr 02 17:25:24 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 17:25:24 2026 +0100"
      },
      "message": "[VL] Refine logs in BHJ optimization (#11870)\n\nClean up redundant logging.\n\nfixes: #11863"
    },
    {
      "commit": "8bd4e2b783aa6c4a3030e929e8a5b5f05ab7fb87",
      "tree": "ca42d467256bfed2458ef9a46c296d7d42cb0a91",
      "parents": [
        "985b19ae4fe62813674361a28ec8c13f2a387549"
      ],
      "author": {
        "name": "Shahad Shamsan",
        "email": "shahadshamsan@gmail.com",
        "time": "Thu Apr 02 17:39:21 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 15:39:21 2026 +0100"
      },
      "message": "[VL][CI] Adding docker image for maven cache (#11655)\n\nThis patch added a docker image with maven cache for spark package/test, covering 3.3/3.4/3.5/4.0/4.1. \nA second patch will be made to enable this cache in the CI jobs"
    },
    {
      "commit": "985b19ae4fe62813674361a28ec8c13f2a387549",
      "tree": "dd81615e662f5d4c5e9e9dfd3f3b9d9ac7d3a536",
      "parents": [
        "f350a440dbfa3a3412f0aed48a89fdac0b16ad48"
      ],
      "author": {
        "name": "lifulong",
        "email": "lifulong@users.noreply.github.com",
        "time": "Thu Apr 02 15:55:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 02 08:55:13 2026 +0100"
      },
      "message": "[VL] Fix native Union result name (#11832)\n\nFix native union result use column type name as column name, which lead to same data type column has same data, but is not right result. eg all string columns has same data value as the first string column\n\nconst auto name \u003d outRowType-\u003echildAt(colIdx)-\u003ename();\nresult name is column type name \u003d\u003e Wrong\nconst auto name \u003d outRowType-\u003enameOf(colIdx);\nresult name is column name \u003d\u003e Correct\n\n\n\nCo-authored-by: lifulong \u003clifulong@zhihu.com\u003e"
    },
    {
      "commit": "f350a440dbfa3a3412f0aed48a89fdac0b16ad48",
      "tree": "923aefb7de44d728b26fffda8c0d07bd8f46d9b8",
      "parents": [
        "98f5f063f54d50a3b74367196d0732c8cc53d540"
      ],
      "author": {
        "name": "YangJie",
        "email": "yangjie01@baidu.com",
        "time": "Wed Apr 01 08:55:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 01 08:55:19 2026 +0800"
      },
      "message": "[VL] Fix StdMemoryAllocator::allocateZeroFilled byte accounting (#11855)"
    },
    {
      "commit": "98f5f063f54d50a3b74367196d0732c8cc53d540",
      "tree": "246cfcb3b250367bb0868440f42bf663cdaa2b52",
      "parents": [
        "e0370b5f7a20fc5c6ca138b8e0cffa779baeea56"
      ],
      "author": {
        "name": "Rui Mo",
        "email": "rui@apache.org",
        "time": "Tue Mar 31 22:10:07 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 22:10:07 2026 +0100"
      },
      "message": "[GLUTEN-11796][VL] Teardown the AWS SDK (#11857)\n\nVelox users need to manually invoke the finalizeS3FileSystem() to teardown the AWS SDK C++ before exiting an application.\n\nFixes #11796."
    },
    {
      "commit": "e0370b5f7a20fc5c6ca138b8e0cffa779baeea56",
      "tree": "f67932544959c61f3cf1298d30b5c7c173696042",
      "parents": [
        "999ba5fe1ee623106e8cafee399c7867a6f889c8"
      ],
      "author": {
        "name": "Mariam AlMesfer",
        "email": "65206318+Mariamalmesfer@users.noreply.github.com",
        "time": "Tue Mar 31 17:26:40 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 15:26:40 2026 +0100"
      },
      "message": "GLUTEN-1433] [VL] Add validation test for CurrentTimestamp and Now (#11656)\n\nThis PR adds validation tests for CurrentTimestamp and now as part of #1433.\nCurrentTimestamp and now is a foldable expression and is computed by Spark during query planning.\nThe added tests verify that:\nThis confirms that CurrentTimestamp and now is supported on the Velox backend.\n\nCloses part of #1433\n\nCo-authored-by: Mariam-Almesfer \u003cmariam.almesfer@ibm.com\u003e"
    },
    {
      "commit": "999ba5fe1ee623106e8cafee399c7867a6f889c8",
      "tree": "04ef8ef9471ca256ada8b945c850339d4c39e010",
      "parents": [
        "30e68743614d67764d41c0326bd3214bfa8c1e7d"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Tue Mar 31 16:51:08 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 19:21:08 2026 +0800"
      },
      "message": "[VL] Clean up GPU code: remove dead/redundant code (#11824)"
    },
    {
      "commit": "30e68743614d67764d41c0326bd3214bfa8c1e7d",
      "tree": "22fe55a84a563ba49a7a2dd18a04ac9fb438170e",
      "parents": [
        "91162e107981afad9e5cd25a24eb6be25166482a"
      ],
      "author": {
        "name": "Chang Chen",
        "email": "changchen@microsoft.com",
        "time": "Tue Mar 31 12:42:10 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 31 12:42:10 2026 +0800"
      },
      "message": "Enable GlutenLogicalPlanTagInSparkPlanSuite (150/150 tests) (#11833)\n\nRoot cause: Gluten\u0027s offload rules replace Spark physical plan nodes with\nTransformer nodes but don\u0027t propagate LOGICAL_PLAN_TAG. This tag is used by\nSpark\u0027s LogicalPlanTagInSparkPlanSuite to verify logical-physical plan linkage.\n\nThree core fixes:\n1. LegacyOffload: propagate LOGICAL_PLAN_TAG from original node to offloaded\n   Transformer node using setTagValue (non-recursive to avoid tagging Exchange).\n2. HeuristicTransform.Simple: same tag propagation for the simple offload path.\n3. PushDownFilterToScan: copyTagsFrom when creating new scan via\n   withNewPushdownFilters (case class copy loses tags).\n\nTest suite overrides checkGeneratedCode with Gluten-aware version that:\n- Recognizes Transformer node types (joins, aggregates, windows, scans, etc.)\n- For scan trees, finds logical plan tag from any node in the tree (not just\n  root), since rewrite rules may create new Project/Filter without tags.\n\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "91162e107981afad9e5cd25a24eb6be25166482a",
      "tree": "513ff8dace67e22e6c8fab25683fbe2fd8b72712",
      "parents": [
        "36ab90bd83ae6c4d059357bced02532ba17f7eb4"
      ],
      "author": {
        "name": "Ankita Victor",
        "email": "anvicto@microsoft.com",
        "time": "Mon Mar 30 21:21:40 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 30 08:51:40 2026 -0700"
      },
      "message": "[DOC] Update documentation for Spark version support and TLP graduation (#11851)"
    }
  ],
  "next": "36ab90bd83ae6c4d059357bced02532ba17f7eb4"
}
