)]}'
{
  "log": [
    {
      "commit": "cd9302760cfe17c75e0c5133b2c56a84f6fab976",
      "tree": "d3a435a00d7fb80a6ec3d8d33c893aef20fbf856",
      "parents": [
        "fa9505bfa7d4c5b0e548810a808c61075288bed2"
      ],
      "author": {
        "name": "rjgoyln",
        "email": "pt40419@gmail.com",
        "time": "Thu Nov 05 17:51:31 2026 +0000"
      },
      "committer": {
        "name": "Yu-Lin Chen",
        "email": "chenyulin0719@apache.org",
        "time": "Thu Nov 05 17:51:31 2026 +0000"
      },
      "message": "[YUNIKORN-3524] Fix event-count tests that fail when run on their own (#1202)\n\nSkip USERGROUP events when the three tests collect events, through a waitForEvents helper in pkg/scheduler/objects and inline in TestNewQueueEvents.\n\nCloses: #1202\n\nSigned-off-by: Yu-Lin Chen \u003cchenyulin0719@apache.org\u003e\n"
    },
    {
      "commit": "fa9505bfa7d4c5b0e548810a808c61075288bed2",
      "tree": "18fec94d56299246ab9108d41da64e25acd5b973",
      "parents": [
        "b4d464c8ee088752a5363c6f8d7d605ebb25d3c4"
      ],
      "author": {
        "name": "Will Humphlett",
        "email": "will@humphlett.net",
        "time": "Thu Nov 05 16:41:43 2026 +1100"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Nov 05 16:41:43 2026 +1100"
      },
      "message": "[YUNIKORN-3555] Do not cap queue running apps at maxApplications (#1217)\n\nAn application can start running without passing canRunApp(), for\nexample when its allocations are recovered after a restart. On a queue\nat its max, incRunningApps() dropped it from the count while\ndecRunningApps() still counted it down, so the queue ran over its max\nfrom then on. canRunApp() already blocks new applications at the max,\nso remove the cap.\n\nCloses: #1217\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "b4d464c8ee088752a5363c6f8d7d605ebb25d3c4",
      "tree": "cb2fc1989d322ec3497e3e1a7e170f0bcd914ff8",
      "parents": [
        "b1f836213d00c4aa182e1464bf7f7e7d2ffbbcb8"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Wed Nov 04 13:16:18 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Nov 04 13:16:18 2026 +0530"
      },
      "message": "[YUNIKORN-3547] Add a revived application to its queue under the partition lock (#1214)\n\nCloses: #1214\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "b1f836213d00c4aa182e1464bf7f7e7d2ffbbcb8",
      "tree": "455c01db3b7b445d28681fe1641dc4bee4ff69b5",
      "parents": [
        "8e85200efcfc0d6c1943490001d7a17c476e5335"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Wed Nov 04 12:00:32 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Nov 04 12:00:32 2026 +0530"
      },
      "message": "[YUNIKORN-3545] Compare the placement filter type case insensitively (#1212)\n\nCloses: #1212\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "8e85200efcfc0d6c1943490001d7a17c476e5335",
      "tree": "c7fde4e0c4e469a508e31a628015294cb7de3b7b",
      "parents": [
        "da69e7309b3c9bdad1b3264a379e8ba755a0095d"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Wed Nov 04 11:52:59 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Nov 04 11:52:59 2026 +0530"
      },
      "message": "[YUNIKORN-3548] Use unique allocation keys in the objects test helpers (#1213)\n\nCloses: #1213\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "da69e7309b3c9bdad1b3264a379e8ba755a0095d",
      "tree": "5877b01092e14f45ab03c8bb67f46de82bfc0826",
      "parents": [
        "e3ab2686c8b4ee98fe31525428e5675b927b310e"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Tue Nov 03 12:51:55 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Nov 03 12:51:55 2026 +0530"
      },
      "message": "[YUNIKORN-3538] Test both input orders in the application priority sorters (#1205)\n\nCloses: #1205\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "e3ab2686c8b4ee98fe31525428e5675b927b310e",
      "tree": "9743305637f6d70a25d6b83b5e3cb00a900b5eac",
      "parents": [
        "c86aea52cc10399599b6f0899c70ecff3be0b88f"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Tue Nov 03 12:09:39 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Nov 03 12:09:39 2026 +0530"
      },
      "message": "[YUNIKORN-3539] Take the partition lock in the queue cleaner before removing a queue (#1206)\n\nAddApplication holds the partition lock from finding or creating the\nqueue until the application is added, so that the queue cleaner cannot\nremove the queue in between. The cleaner never took that lock: it could\nremove an empty dynamic queue after AddApplication found or created it,\nand the application was then added to a queue that was no longer part\nof the hierarchy. It could also remove a dynamic queue that was still\nbeing created and panic on the nil queueEvents.\n\nTake the partition lock in cleanQueues before the empty check and the\nremoval of a queue that can be removed, and document the exception in\nthe PartitionContext locking comment.\n\nAdd a test that adds applications to a dynamic queue while the cleaner\nruns, and let createPartitionContext take placement rules.\n\nCloses: #1206\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "c86aea52cc10399599b6f0899c70ecff3be0b88f",
      "tree": "44b85a964ef6807e902ca62d77115caecc93b5a7",
      "parents": [
        "bd385acbc70ce9ded32102715a6b8eb0b6def677"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Tue Nov 03 11:42:55 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Nov 03 11:42:55 2026 +0530"
      },
      "message": "[YUNIKORN-3540] Return a copy of the placeholder data in GetAllPlaceholderData() (#1207)\n\nGetAllPlaceholderData() returned the PlaceholderData objects stored in\nthe application. The REST handler read Count, Replaced and TimedOut\nfrom them after the application lock was released, while the scheduler\nupdates these fields under the lock. Return a copy of each entry\ninstead. A shallow copy is enough: MinResource is cloned when the entry\nis created and is not changed afterwards.\n\nUpdate TestAddAllocAsk to compare the values and check that the result\nis a copy.\n\nCloses: #1207\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "bd385acbc70ce9ded32102715a6b8eb0b6def677",
      "tree": "9fadbbb2aeabcf1e0a459fe854e37e744b19bf9e",
      "parents": [
        "b209d3bd3957c2d01107c35addb5348bbd701a67"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Mon Nov 02 17:32:18 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Nov 02 17:32:18 2026 +0530"
      },
      "message": "[YUNIKORN-3525] Keep preemption predicate mock errors across nodes (#1211)\n\nCloses: #1211\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "b209d3bd3957c2d01107c35addb5348bbd701a67",
      "tree": "3e39875b6649b8ea3b342ddb34e7799e6571f79c",
      "parents": [
        "8a0f753695c2b1051dba33cf5d818da275990d61"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Mon Nov 02 14:34:16 2026 +1100"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Nov 02 14:34:16 2026 +1100"
      },
      "message": "[YUNIKORN-3541] Update golang.org/x/net to v0.62.0 for CVE fixes (#1209)\n\nCloses: #1209\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "8a0f753695c2b1051dba33cf5d818da275990d61",
      "tree": "4fffd05b8501b13c6b713f3aef120211f4d510d1",
      "parents": [
        "1d3037cd97aed5e963cb4a05a9a02b945f66a72e"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Thu Oct 29 12:18:53 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 29 12:18:53 2026 +0530"
      },
      "message": "[YUNIKORN-3530] Clear allocatingAcceptedApps on parent queues when an application is removed (#1201)\n\nCloses: #1201\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "1d3037cd97aed5e963cb4a05a9a02b945f66a72e",
      "tree": "4af499bd15c0bc9582055cd729d570d6de2d9bec",
      "parents": [
        "1c480b92824d506bd1d2d0a583468d377f2c21bb"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Thu Oct 29 12:08:49 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 29 12:08:49 2026 +0530"
      },
      "message": "[YUNIKORN-3536] Keep the per-logger level in filteredCore.With() (#1204)\n\nfilteredCore.With() returned the inner core without the wrapper, so a\nlogger derived with log.Log(handle).With(...) dropped the level of that\nlogger and only applied the root level. Wrap the result of inner.With()\nin a filteredCore with the same level.\n\nAdd unit tests for filteredCore, and a test that checks a With() logger\nfrom UpdateLoggingConfig keeps the logger level.\n\nCloses: #1204\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "1c480b92824d506bd1d2d0a583468d377f2c21bb",
      "tree": "4997130eee55521d6be5d6aa2504dace1a436441",
      "parents": [
        "d60b3417e2747cf89497d5b7e47c3007a4e3f8bd"
      ],
      "author": {
        "name": "Eason Chen",
        "email": "185830721+Eason09053360@users.noreply.github.com",
        "time": "Thu Oct 29 12:07:22 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 29 12:07:22 2026 +0530"
      },
      "message": "[YUNIKORN-3535] Update the parent before locking the queue in Inc/DecPreemptingResource (#1203)\n\nIncPreemptingResource() and DecPreemptingResource() held the queue lock\nwhile calling the parent, so an update held every queue lock from the\nleaf up to the root. Call the parent first and only then lock the queue,\nthe same as IncAllocatedResource() and the other recursive updates.\n\nChange TestPreemptingResource to use a parent and a leaf queue so the\nparent update is covered.\n\nCloses: #1203\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "d60b3417e2747cf89497d5b7e47c3007a4e3f8bd",
      "tree": "7348dae615057057cbeca9765e67ca896a7757c9",
      "parents": [
        "f4c3a8a35e251f1f35522b99734e5303a084801a"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Wed Oct 28 18:10:22 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Oct 28 18:10:22 2026 +0530"
      },
      "message": "[YUNIKORN-3515] Fix multi-application victim overwrite and ghost notifications in quota preemption (#1193)\n\nCloses: #1193\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "f4c3a8a35e251f1f35522b99734e5303a084801a",
      "tree": "5eaedfa1dd6b3120e6cc229af59a29a1f3bd5ed7",
      "parents": [
        "f52e6659f99788d4b33a1eda11cc03d22f565d01"
      ],
      "author": {
        "name": "rjgoyln",
        "email": "pt40419@gmail.com",
        "time": "Wed Oct 28 17:42:01 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Oct 28 17:42:01 2026 +0530"
      },
      "message": "[YUNIKORN-3514] Score the victim list sent to the shim in preemption node selection (#1195)\n\nThe index the shim returns from PreemptionPredicates points into the\nvictim list it was sent, which calculateVictimsByNode has already\nfiltered and reordered. checkPreemptionPredicates compared nodes with\nbetterThan and isSatisfactory against the sorted allocations of the node\ninstead, so whenever the two lists diverged the originator and opted-out\npenalties were read off allocations that were not going to be preempted.\nA node whose real victims include an originator could then win against a\nnode that only costs an opted-out pod, and the early exit between\npredicate batches could fire on a score that did not describe the chosen\nvictims. populateVictims already used the victim list, so only the node\nchoice was wrong.\n\nCloses: #1195\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "f52e6659f99788d4b33a1eda11cc03d22f565d01",
      "tree": "6fce3e9d4bed838f331201a3b8e50e5a8990b777",
      "parents": [
        "5c996a2294d08d032eea5584940560d787ebbf8d"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Wed Oct 28 13:11:56 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Oct 28 13:11:56 2026 +0530"
      },
      "message": "[YUNIKORN-3501] Account for node available resource during victim selection in RequiredNodePreemptor.GetVictims (#1188)\n\nCloses: #1188\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "5c996a2294d08d032eea5584940560d787ebbf8d",
      "tree": "a540a805db85821fa4ea253dbcf404226f87df57",
      "parents": [
        "048abb81c372910237980d90919f1903eabaaf2f"
      ],
      "author": {
        "name": "rjgoyln",
        "email": "pt40419@gmail.com",
        "time": "Tue Oct 27 16:06:32 2026 +0000"
      },
      "committer": {
        "name": "Yu-Lin Chen",
        "email": "chenyulin0719@apache.org",
        "time": "Tue Oct 27 16:06:32 2026 +0000"
      },
      "message": "[YUNIKORN-3521] Fix predicate plugin leak in TestFailReplacePlaceholder (#1196)\n\nThe deferred cleanup re-registered a plugin built with the same\narguments as the failing one, so every later test in the package ran\nwith node-1 marked as not feasible for a reservation. The existing\ntests happen to pass either way, but a new test that replaces a\nplaceholder on node-1 fails for no visible reason.\n\nThe leaked plugin was also the only thing exercising the scheduling\nstate update in inspectOutstandingRequests, so the test for that\nfunction now registers its own callback and checks the update is sent.\n\nCloses: #1196\n\nSigned-off-by: Yu-Lin Chen \u003cchenyulin0719@apache.org\u003e\n"
    },
    {
      "commit": "048abb81c372910237980d90919f1903eabaaf2f",
      "tree": "57fb19aa5f34e622296e303e6e920a0c0cf46b6e",
      "parents": [
        "a4caae7ca28bd52987368e6bba272a61bb4fc7b3"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Fri Oct 16 14:44:36 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Oct 16 14:44:36 2026 +0530"
      },
      "message": "[YUNIKORN-3511] Update go compiler and net/x/http for CVE fixes (#1194)\n\nCompiler version update and net/x/http covering the following CVEs:\n* CVE-2026-97032\n* CVE-2026-78659\n* CVE-2026-97031\n* CVE-2026-94440\n* CVE-2026-56866\n* CVE-2026-94439\n* CVE-2026-78669\n* CVE-2026-56857\n* CVE-2026-78667\n* CVE-2026-78663\n\nUpdate golangci-lint for Go 1.27\nFix for newly detected lint issues, excluding most of the test code to\nreduce the code churn.\nUpdate linter to 2.14.0\nThe typecheck fails with: export data version 5 is greater than maximum\nsupported version 4\nUpgrading seems to solve the issue.\n\nCloses: #1194\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "a4caae7ca28bd52987368e6bba272a61bb4fc7b3",
      "tree": "4f3d13bf57ec6e92ecbf38a5561b79bd94a7763a",
      "parents": [
        "7f53db83f710dd5833fbf518acf700d404feae92"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Fri Oct 16 11:29:35 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Oct 16 11:29:35 2026 +0530"
      },
      "message": "[YUNIKORN-3237] DS Preemption: Improve victim selection algorithm (#1184)\n\nSort required node preemption victims with SortAllocationsBasedOnAsk, using the node capacity as total, and remove the now unused SortAllocations. Update TestGetVictims and TestPlaceholderDataWithPlaceholderPreemption for the new victim order.\n\nCloses: #1184\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7f53db83f710dd5833fbf518acf700d404feae92",
      "tree": "32a6ad51b545b965aa0c72b2b16c6b4df513630f",
      "parents": [
        "2bf5154d70903b2769cc2b36a238c2116034eec3"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Thu Oct 15 16:02:02 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 15 16:02:02 2026 +0530"
      },
      "message": "[YUNIKORN-3506] Fix child queue preemptable resource calculation in quota preemption (#1189)\n\nCloses: #1189\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "2bf5154d70903b2769cc2b36a238c2116034eec3",
      "tree": "1bdc80004b7183eb2f72b4654c708f243cc4417e",
      "parents": [
        "7446a3bcd1e3d99400a792d8ba0d487d65f06f91"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Thu Oct 15 15:27:15 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 15 15:27:15 2026 +0530"
      },
      "message": "[YUNIKORN-3452] Protect originator pods over opted-out pods in node preemption (#1191)\n\nSwap the scoreOriginator and scoreNoPreempt values and sort victims on a\nnode by originator before allowPreemptSelf.\nReorder allocations in TestSortVictimsForPreemption for clarity\n\nCloses: #1191\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7446a3bcd1e3d99400a792d8ba0d487d65f06f91",
      "tree": "7a55b43a5d6e6c7f00462b2a2813cf082fdd17f6",
      "parents": [
        "0ef9fd72000e2c310fc6d4bf664e2e9007f976c7"
      ],
      "author": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 15 11:03:07 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 15 11:03:07 2026 +0530"
      },
      "message": "[YUNIKORN-3330] Run predicate checks in Required node preemption (#1106)\n\nCloses: #1106\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "0ef9fd72000e2c310fc6d4bf664e2e9007f976c7",
      "tree": "bf229d89dd15ec9f002e6ae274669cf025425b34",
      "parents": [
        "8763b6f1957827a3f00a6ebf8e1b85afddb09a2c"
      ],
      "author": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 08 11:29:18 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 08 11:29:18 2026 +0530"
      },
      "message": "[YUNIKORN-3483] Reinstate Partition state transitions (#1174)\n\nReinstated the partition object state transitions. State would be marked as \"draining\" before heading to deletion process which could prevent any activity imposed on it. Activity could be either add app or node.\n\nCloses: #1174\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "8763b6f1957827a3f00a6ebf8e1b85afddb09a2c",
      "tree": "9829c982866f4a6e5fff9a31dd509a9d8b910593",
      "parents": [
        "c164d45b1b8c61af2bbeed94aac0eb2b6227024b"
      ],
      "author": {
        "name": "Aditya Maheshwari",
        "email": "adityadtu5@gmail.com",
        "time": "Thu Oct 08 13:27:25 2026 +1100"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Oct 08 13:27:25 2026 +1100"
      },
      "message": "[YUNIKORN-3218] Handle race condition during application timeout completion (#1173)\n\nFinalising an application happens in two steps. This results in a small\nwindow when the application is still seen on the partition but no longer\nconnected to a queue. If an allocation is added during that window the\nallocation addition will work but the allocation is never scheduled. The\npod will stay pending forever.\n\nClose the gap by reviving the application if the queue has been removed\nand the application is found. Stop the removal of the application from\nthe partition if the application was revived.\n\nThe full fix requires changes on the k8shim side to not prematurely\nremove the application from the cache.\n\nTrack revived applications via the introduction of a new metric.\n\nCloses: #1173\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "c164d45b1b8c61af2bbeed94aac0eb2b6227024b",
      "tree": "edad53d101d5e2872fcd2840e94265e37dfe692e",
      "parents": [
        "c99a01fe5ab02b42bda8622a985696d2fd93b085"
      ],
      "author": {
        "name": "rjgoyln",
        "email": "pt40419@gmail.com",
        "time": "Thu Oct 08 11:59:07 2026 +1100"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Oct 08 11:59:07 2026 +1100"
      },
      "message": "[YUNIKORN-2133] Report placeholder usage in the application REST info (#1182)\n\nThe application\u0027s usedResource excludes placeholder allocations, which\nare tracked separately, while the queue\u0027s usage includes them. For a\ngang application with live placeholders the application totals in the\nREST output and the state dump could not be reconciled with the queue,\nand the placeholder usage itself was not visible anywhere.\n\nCloses: #1182\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "c99a01fe5ab02b42bda8622a985696d2fd93b085",
      "tree": "13394c03010723ef0471b53c8208665c5a404056",
      "parents": [
        "bbc1418b9e8028bc7b5f1826ed0859cb7bbfa1d3"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Tue Oct 06 10:02:46 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Oct 06 10:02:46 2026 +0530"
      },
      "message": "[YUNIKORN-3491] Remove obsolete TestTryPreemption_PrematureAdditionalVictimsLoopTermination (#1181)\n\n- In YUNIKORN-3478, ask queue quota accounting and FitInActual checks against victim size were removed from calculateAdditionalVictims.\n- TestTryPreemption_PrematureAdditionalVictimsLoopTermination was originally added in YUNIKORN-3463 to verify loop continuation when FitInActual rejected oversized victims.\n- Because FitInActual was removed, this scenario no longer exists. Furthermore, TestTryPreemption_DecoupleAskQueueQuotaFromVictimSize_AdditionalVictims already thoroughly verifies preemption of oversized victims in calculateAdditionalVictims.\n- Remove TestTryPreemption_PrematureAdditionalVictimsLoopTermination to resolve the test failure on master.\n\nCloses: #1181\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "bbc1418b9e8028bc7b5f1826ed0859cb7bbfa1d3",
      "tree": "383af704c5b97da14677327a3dabe29d0aead415",
      "parents": [
        "7af297fc012e4b3530dfa29159ada733361a737c"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Mon Oct 05 17:29:13 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Oct 05 17:29:13 2026 +0530"
      },
      "message": "[YUNIKORN-3478] Decouple ask queue quota accounting from victim sizes in calculateAdditionalVictims (#1172)\n\n- Remove ask queue quota accounting and FitInActual check against victim size in calculateAdditionalVictims.\n\n- Add reproduction test TestTryPreemption_DecoupleAskQueueQuotaFromVictimSize_AdditionalVictims.\n\n- Align TestTryPreemption_PrematureAdditionalVictimsLoopTermination with newest-first preemption.\n\nCloses: #1172\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7af297fc012e4b3530dfa29159ada733361a737c",
      "tree": "e2a18f4bf8927735693a9a3915894adfda95186e",
      "parents": [
        "4ff47a09404e23ec4b37f755049df6092a8da792"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Mon Oct 05 16:01:11 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Oct 05 16:01:11 2026 +0530"
      },
      "message": "[YUNIKORN-3459] Decouple ask queue quota accounting from victim sizes in calculateVictimsByNode (#1170)\n\nOversized Victim Rejection: FitInActual(victim.GetAllocatedResource()) checks whether the victim\u0027s size fits into the ask queue\u0027s remaining guaranteed headroom. If an ask needs 2 cores and the ask queue has 2 cores headroom, preempting an 8-core victim frees 8 cores on the node and fully satisfies the ask while only consuming 2 cores of queue quota. However, because 8 \u003e 2, FitInActual(8 cores) returns false, incorrectly rejecting the 8-core victim and starving the ask.\n\nPredicate Tail Victim Truncation: When an earlier victim is evaluated, calling askQueue.AddAllocation(victim) consumes the ask queue\u0027s remaining headroom in the snapshot. Subsequent allocations on the same node (e.g. pods causing PodAntiAffinity or required by the ResourceManager predicate plugin) see an exhausted askQueueRemaining and are discarded before reaching tail, leading to predicate failures.\n\nCloses: #1170\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "4ff47a09404e23ec4b37f755049df6092a8da792",
      "tree": "dadbc2b94d5cc14e0c084af610ed1f8dbf28ad9f",
      "parents": [
        "28daafd5537de5d12290c67a0eba4b61c1e198a9"
      ],
      "author": {
        "name": "rjgoyln",
        "email": "pt40419@gmail.com",
        "time": "Mon Oct 05 13:07:15 2026 +1100"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Oct 05 13:07:15 2026 +1100"
      },
      "message": "[YUNIKORN-3484] Update GitHub Actions to latest versions (#1179)\n\nThe workflows pin older major versions of the GitHub-owned actions, and\ncodecov-action was on different majors in different workflows. Moving\nevery workflow to the current major keeps CI on maintained releases and\non the same versions across all YuniKorn repositories.\n\nCloses: #1179\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "28daafd5537de5d12290c67a0eba4b61c1e198a9",
      "tree": "0d634a9c4a4aa740a7d8702e4f61c571b6734fa4",
      "parents": [
        "e7a16eb94163c118e1d982cc5ac27711c05c0c8b"
      ],
      "author": {
        "name": "andyhuangdev",
        "email": "ky052632@gmail.com",
        "time": "Mon Oct 05 12:25:26 2026 +1100"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Oct 05 12:25:26 2026 +1100"
      },
      "message": "[YUNIKORN-3475] Remove deprecated redirects (#1180)\n\nRemove the legacy /ws/v1 routes, redirect handler, and obsolete tests.\nAdd router coverage verifying legacy paths return 404 and /debug paths\ncontinue to serve stack traces and state dumps.\n\nCloses: #1180\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "e7a16eb94163c118e1d982cc5ac27711c05c0c8b",
      "tree": "5fb536c228ea8683d058423dcce44b6a3ef75bd7",
      "parents": [
        "883bb49d9e627532237363f5895a95d2508578f1"
      ],
      "author": {
        "name": "andyhuangdev",
        "email": "ky052632@gmail.com",
        "time": "Thu Oct 01 17:23:14 2026 +0000"
      },
      "committer": {
        "name": "Yu-Lin Chen",
        "email": "chenyulin0719@apache.org",
        "time": "Thu Oct 01 17:23:14 2026 +0000"
      },
      "message": "[YUNIKORN-3411] Send allocation release events without waiting for RM replies (#1151)\n\nRemove deferred notification plumbing and log processing in RMProxy.\n\nCloses: #1151\n\nSigned-off-by: Yu-Lin Chen \u003cchenyulin0719@apache.org\u003e\n"
    },
    {
      "commit": "883bb49d9e627532237363f5895a95d2508578f1",
      "tree": "8b85200a74356da8a2f92574c0b524ce44ba9f66",
      "parents": [
        "3ac9f4e5a33126cfb0b791d729977f4c04a29d72"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Thu Oct 01 14:17:11 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 01 14:17:11 2026 +0530"
      },
      "message": "[YUNIKORN-3450] False preemption shortfall aborts queue preemption and starves large tasks despite sufficient guaranteed quota (#1163)\n\nWhen preemption is triggered to satisfy a queue quota constraint, downstream shortfall verification in TryPreemption() previously compared victimsTotalResource directly against ask requirements (victimVal \u003c needVal) with avail \u003d 0. This demanded that victim resources alone satisfy the entire ask, ignoring the queue\u0027s existing headroom. As a result, when a queue had partial headroom and victims satisfied the remaining deficit (headRoom + victimVal \u003e\u003d needVal), preemption was falsely aborted with PreemptionShortfall.\n\nFix this by refactoring hasPreemptionShortfall() to perform dual-track, independent verification:\n- Node physical capacity check: node available capacity + nodeVictimsResource \u003e\u003d needVal.\n- Queue quota headroom check: queue headroom + totalVictimsResource \u003e\u003d needVal (when headroom is constrained).\n\nThis eliminates fragile fitIn and cross-node flags, accurately accounts for node victims vs cluster-wide victims, and preserves YUNIKORN-3449 while preventing preemption starvation. Dedicated test matrix and integration tests added.\n\nCloses: #1163\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "3ac9f4e5a33126cfb0b791d729977f4c04a29d72",
      "tree": "e31b498cd7b895ac0eebcfe21dca09424ae59006",
      "parents": [
        "fc4c198191aadb885a25dbfec63ec554b20433e4"
      ],
      "author": {
        "name": "stantheman0128",
        "email": "stanshih888@gmail.com",
        "time": "Thu Oct 01 14:02:18 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 01 14:02:18 2026 +0530"
      },
      "message": "YUNIKORN-2251: Add node instanceType to the node added event message (#1149)\n\nThe node added event carried a fixed message, so a consumer reading the\nevent stream could not tell what kind of node joined without a separate\nlookup. Include the instance type in the message, using the same key and\nvalue style as the schedulable changed event.\n\nNodes without the si/instance-type attribute report UNKNOWN, which is what\nNode.GetInstanceType already returns for that case.\n\nCloses: #1149\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "fc4c198191aadb885a25dbfec63ec554b20433e4",
      "tree": "982664ffd91f26e793b4b02c472b63950e730b0a",
      "parents": [
        "d13826c76b96f55929ddf3d4c494f8bcef530fca"
      ],
      "author": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 01 13:43:03 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Oct 01 13:43:03 2026 +0530"
      },
      "message": "[YUNIKORN-3453] Send the plugin errors back to core for preemption ask (#1160)\n\nCloses: #1160\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "d13826c76b96f55929ddf3d4c494f8bcef530fca",
      "tree": "f46a65890f9b7fc9ed71c3c7cc4edc3b9b036c93",
      "parents": [
        "b21d1f0b4cb27274a70f33bbd78c839c6d93bc8e"
      ],
      "author": {
        "name": "andyhuangdev",
        "email": "ky052632@gmail.com",
        "time": "Wed Sep 30 00:12:01 2026 +0800"
      },
      "committer": {
        "name": "HuangTing-Yao",
        "email": "tingyao@apache.org",
        "time": "Wed Sep 30 00:12:01 2026 +0800"
      },
      "message": "[YUNIKORN-3417] Send RM event replies after releasing the cluster lock (#1167)\n\n- Buffer RM reply channels with capacity one.\n- Complete configuration updates before replying.\n- Add regression tests for abandoned replies and lock release.\n\nTests: scheduler and rmproxy suites pass with race and deadlock detection; lint passes with GOTOOLCHAIN\u003dgo1.26.0.\n\nCloses: #1167\n\nSigned-off-by: HuangTing-Yao \u003ctingyao@apache.org\u003e\n"
    },
    {
      "commit": "b21d1f0b4cb27274a70f33bbd78c839c6d93bc8e",
      "tree": "c51607c1b9b6ceaf6c1af41890522f97aba05b86",
      "parents": [
        "9db6a8f433a71fe2a3f7b17b20f3f5a2c270cc30"
      ],
      "author": {
        "name": "yenhuachen",
        "email": "226400984+hikaru-212@users.noreply.github.com",
        "time": "Wed Sep 30 00:09:03 2026 +0800"
      },
      "committer": {
        "name": "HuangTing-Yao",
        "email": "tingyao@apache.org",
        "time": "Wed Sep 30 00:09:03 2026 +0800"
      },
      "message": "[YUNIKORN-3470] Fix webservice test response body cleanup (#1168)\n\nCloses: #1168\n\nSigned-off-by: HuangTing-Yao \u003ctingyao@apache.org\u003e\n"
    },
    {
      "commit": "9db6a8f433a71fe2a3f7b17b20f3f5a2c270cc30",
      "tree": "db41850a8511b07c1b659e35148718360046d251",
      "parents": [
        "0149fccb12acfea5bf302205e79f87a0a075b0ab"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Tue Sep 29 11:04:17 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Sep 29 11:04:17 2026 +0530"
      },
      "message": "[YUNIKORN-3413] Wildcard limit config read without the manager lock on scheduling paths (#1165)\n\nRead the user wild card limits once at the manager entry points and pass\nthem down through the user and queue trackers, so newQueueTracker no\nlonger reads the manager map.\n\nCloses: #1165\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "0149fccb12acfea5bf302205e79f87a0a075b0ab",
      "tree": "8a16f41832496e0e5bb5bfd8c4fbccaacfe31262",
      "parents": [
        "917dc8aa26a51dc49c31abf92b3bef21498ada66"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Mon Sep 28 15:30:54 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Sep 28 15:30:54 2026 +0530"
      },
      "message": "[YUNIKORN-3236] Inter Queue Preemption: Improve victim selection algorithm (#1159)\n\nCloses: #1159\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "917dc8aa26a51dc49c31abf92b3bef21498ada66",
      "tree": "2f80e092eaa4ebbd37f568a831ccc04cc718cade",
      "parents": [
        "f2b1f4613aa7cfa9e4d03b103cbe33a11391b283"
      ],
      "author": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Sep 28 13:20:17 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Sep 28 13:20:17 2026 +0530"
      },
      "message": "[YUNIKORN-3456] Upgrade go version and other deps (#1169)\n\nUpdated SI version\n\nCloses: #1169\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "f2b1f4613aa7cfa9e4d03b103cbe33a11391b283",
      "tree": "870bb7c1c83eead23f71de9b16e439cdd76ffeaf",
      "parents": [
        "9a2af4d2c6dcb20e28a690d9561e46054b162125"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Fri Sep 25 13:05:01 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Sep 25 13:05:01 2026 +0530"
      },
      "message": "[YUNIKORN-3463] Premature loop abort in calculateAdditionalVictims starves preemption (#1164)\n\nCloses: #1164\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "9a2af4d2c6dcb20e28a690d9561e46054b162125",
      "tree": "827533c0ebb8f8a5b41fd1f6872c1c8528cd20e5",
      "parents": [
        "b1f04975ad2002621031b673e8d692cef852c7f5"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "piotr@github.copernik.eu",
        "time": "Thu Sep 24 08:55:35 2026 -0700"
      },
      "committer": {
        "name": "Mit Desai",
        "email": "mdesai@visa.com",
        "time": "Thu Sep 24 08:55:35 2026 -0700"
      },
      "message": "[YUNIKORN-3476] Add a SECURITY.md pointing at security@yunikorn.apache.org (#1162)\n\nThe YuniKorn PMC now has a dedicated private security list. Add a\nsecurity policy, based on the ASF-wide default shown by GitHub, so\nthat the repository\u0027s security tab and automated tooling send\nvulnerability reports to that list instead of a public issue.\n\nAssisted-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n\nCloses: #1162\n\nSigned-off-by: Mit Desai \u003cmitdesai21@gmail.com\u003e\n"
    },
    {
      "commit": "b1f04975ad2002621031b673e8d692cef852c7f5",
      "tree": "2f3a4232892b1377bd2b1396b19d5f8c222d2185",
      "parents": [
        "7c9d363e22ce03eb425ef781eb151cf1cada3982"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Wed Sep 23 18:33:22 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Sep 23 18:33:22 2026 +0530"
      },
      "message": "[YUNIKORN-3458] Premature victim loop termination in calculateVictimsByNode starves preemption (#1161)\n\nCloses: #1161\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7c9d363e22ce03eb425ef781eb151cf1cada3982",
      "tree": "8412906d94622a5aeed9d0a6183397723e3b8565",
      "parents": [
        "a38869d52bd089404e05b8e733e16b84de36035e"
      ],
      "author": {
        "name": "andyhuangdev",
        "email": "ky052632@gmail.com",
        "time": "Tue Sep 22 21:26:22 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Sep 22 21:26:22 2026 +0530"
      },
      "message": "[YUNIKORN-3414] Protect tracker state with tracker locks (#1166)\n\nAdd a nil-safe, locked helper to remove application-group associations.\nClone user and group resource usage under the owning tracker\u0027s read lock.\n\nAdd regression tests for missing user trackers, concurrent group association removal, and resource snapshot safety.\n\nCloses: #1166\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "a38869d52bd089404e05b8e733e16b84de36035e",
      "tree": "2ebc6d59f2c084c1c04f85c4c75170dd79cf2d33",
      "parents": [
        "3d84b78f0448f3aa6c11077f4ac1b7649e84ecdd"
      ],
      "author": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Sep 18 14:14:19 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Sep 18 14:14:19 2026 +0530"
      },
      "message": "[YUNIKORN-3433] Send the plugin errors back to core (#1158)\n\nUse errorMessage in PreFilterPredicatesResponse and send it as event to the ask in case of any PreFilter predicate failures.\n\nCloses: #1158\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "3d84b78f0448f3aa6c11077f4ac1b7649e84ecdd",
      "tree": "c9d58045699e276d24a75273596f52b4a823e9ef",
      "parents": [
        "ba2609a34bd66defed6a64fa1d2c6526fb50fae7"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Fri Sep 18 13:03:31 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Sep 18 13:03:31 2026 +0530"
      },
      "message": "[YUNIKORN-3442] Fix preemption victim selection vector truncation for predicate constraints (#1156)\n\nSeparates nodeVictims from extraVictims in TryPreemption().\nUnconditionally preserves all nodeVictims returned by tryNodes().\nRestricts the secondary victim pruning loop strictly to extraVictims (queue-level victims).\n\nCloses: #1156\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "ba2609a34bd66defed6a64fa1d2c6526fb50fae7",
      "tree": "a357a5caec36ec1587d3c9ff1e49cef138af69c9",
      "parents": [
        "8bb5250e2b794fadcd4a7afba50a0727e064fcdc"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Wed Sep 16 18:01:16 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Sep 16 18:01:16 2026 +0530"
      },
      "message": "[YUNIKORN-3449] Preemption falsely aborts and starves large asks by ignoring node available capacity in shortfall check (#1157)\n\nWhen evaluating candidates in TryPreemption(), downstream shortfall verification previously compared victimsTotalResource against the ask demand directly, ignoring the candidate node\u0027s existing available capacity (nodeAvailableMap[nodeID]). For node-local preemptions where the node has partial free capacity and victims cover the remaining deficit, preemption falsely aborted with PreemptionShortfall.\n\nDecouple node physical shortfall checks from queue preemption checks in TryPreemption(). For node-driven preemptions where all victims reside on the target node (!fitIn \u0026\u0026 !hasVictimsOnOtherNodes), consider the node\u0027s available capacity alongside victims (avail + victimVal \u003e\u003d needVal).\n\nCloses: #1157\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "8bb5250e2b794fadcd4a7afba50a0727e064fcdc",
      "tree": "a37449b964c122a7bba70424c5ac697236aa2522",
      "parents": [
        "77146ee33cdf5373d1ba2120fe7484843ebf9b72"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Thu Sep 10 21:18:19 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Sep 10 21:18:19 2026 +0530"
      },
      "message": "[YUNIKORN-3445] Fix victim selection polarity in SortAllocationsBasedOnAsk (#1153)\n\nCorrect scoring polarity so unprotected allocations are prioritized for preemption over opted-out and originator allocations. Add unit tests.\n\nCloses: #1153\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "77146ee33cdf5373d1ba2120fe7484843ebf9b72",
      "tree": "3701362aa96fddfc91fe41b9a4d20eb9504e0600",
      "parents": [
        "88b2966a81aaca3dd4f099b22e0676b991a327e0"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Thu Sep 10 09:55:46 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Sep 10 09:55:46 2026 +0530"
      },
      "message": "[YUNIKORN-3137] Fix preemption victim selection vector comparison flaw for larger asks (#1148)\n\nCloses: #1148\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "88b2966a81aaca3dd4f099b22e0676b991a327e0",
      "tree": "29c91727b43d12325e33bb4cac71d23c09def197",
      "parents": [
        "62251eea48c97367dc12fc67500cd99b3e59a4c8"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Wed Sep 09 12:51:38 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Wed Sep 09 12:51:38 2026 +0530"
      },
      "message": "[YUNIKORN-3446] Race condition in ensureGroupTrackerForApp creates duplicate GroupTrackers and bypasses group quota (#1154)\n\nCloses: #1154\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "62251eea48c97367dc12fc67500cd99b3e59a4c8",
      "tree": "5ab5eb17604cbf0da180a44bbbb204bf67a1235c",
      "parents": [
        "403b7406ae7a2e3f34f9d78a75e65ef259c6cf64"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Sep 09 15:33:09 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 15:33:09 2026 +1000"
      },
      "message": "Bump google.golang.org/grpc from 1.83.1 to 1.83.2 (#1155)\n\nBumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.83.1 to 1.83.2.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.83.1...v1.83.2)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n  dependency-version: 1.83.2\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": "403b7406ae7a2e3f34f9d78a75e65ef259c6cf64",
      "tree": "31a231dfcd3502bed46cd940868754d505e94f06",
      "parents": [
        "4b35f0d39d8424a0415431c1e05d1b32dc827f48"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Mon Sep 07 21:01:56 2026 +0800"
      },
      "committer": {
        "name": "HuangTing-Yao",
        "email": "tingyao@apache.org",
        "time": "Mon Sep 07 21:01:56 2026 +0800"
      },
      "message": "[YUNIKORN-3365] Drain RM events on shutdown and buffer notification reply channels to prevent goroutine leak (#1152)\n\nCloses: #1152\n\nSigned-off-by: HuangTing-Yao \u003ctingyao@apache.org\u003e\n"
    },
    {
      "commit": "4b35f0d39d8424a0415431c1e05d1b32dc827f48",
      "tree": "f96b9d941f371b155d9943ea69e2e43aa2910102",
      "parents": [
        "569f23fc2f22d705e0fb82652683c3d7ea2c112f"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Mon Sep 07 20:58:39 2026 +0800"
      },
      "committer": {
        "name": "HuangTing-Yao",
        "email": "tingyao@apache.org",
        "time": "Mon Sep 07 20:58:39 2026 +0800"
      },
      "message": "[YUNIKORN-3379] Fix scheduler panic on PLACEHOLDER_REPLACED release without linked replacement (#1150)\n\nWhen an AllocationRelease of type PLACEHOLDER_REPLACED is processed for a\nplaceholder that has no linked replacement allocation (ph.GetRelease() \u003d\u003d nil),\nreplacePlaceholderOnNode dereferences confirmed.GetAllocatedResource() without\na nil check, causing a SIGSEGV panic and taking down the scheduler.\n\nThis fix:\n1. Adds a defensive nil check for confirmed in replacePlaceholderOnNode.\n2. Emits a descriptive WARN log and cleans up the placeholder from the node via\n   node.RemoveAllocation(), accumulating the freed resource into total so queue\n   allocated resources are correctly decremented.\n3. Safely returns nil to caller, allowing removeAllocation to decrement the cluster\n   allocation count and notify the RM of the released placeholder.\n4. Adds TestRemoveAllocationPlaceholderReplacedWithoutReplacement in partition_test.go,\n   reproducing the defect and asserting that node, queue, and partition states are\n   cleanly restored.\n\nCloses: #1150\n\nSigned-off-by: HuangTing-Yao \u003ctingyao@apache.org\u003e\n"
    },
    {
      "commit": "569f23fc2f22d705e0fb82652683c3d7ea2c112f",
      "tree": "1c5ffaa6a6ff5de9884baad3cc0a27e099b20f15",
      "parents": [
        "aa59599e9be439778f21b1b437bce42ecc1def17"
      ],
      "author": {
        "name": "rjgoyln",
        "email": "pt40419@gmail.com",
        "time": "Mon Sep 07 17:08:25 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Sep 07 17:08:25 2026 +0530"
      },
      "message": "[YUNIKORN-3358] Remove the unreachable replace-existing-ask branch (#1146)\n\nCloses: #1146\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "aa59599e9be439778f21b1b437bce42ecc1def17",
      "tree": "b42073ae760e7a8fc83be7202b34222bae21623a",
      "parents": [
        "7b3650b40c40e5988db2b76cea2cfbc8ed609e29"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Fri Sep 04 12:04:29 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Sep 04 12:04:29 2026 +0530"
      },
      "message": "[YUNIKORN-3409] Fix concurrent map read and write on rejectedApplications (#1144)\n\n- Add partition write lock to AddRejectedApplication around rejectedApplications mutation\n- Protect rejectedApplications map pointer read with RLock in getRejectedAppsByState\n- Add comprehensive concurrent unit tests using a start gate barrier\n\nCloses: #1144\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7b3650b40c40e5988db2b76cea2cfbc8ed609e29",
      "tree": "a7ce55031801e3d6d835e59800d5251f3a2e3ad5",
      "parents": [
        "2577453c1aed9fce3c023b5ed3b6fd80ac0b24e3"
      ],
      "author": {
        "name": "hedger9487",
        "email": "hedger9487@gmail.com",
        "time": "Fri Sep 04 11:49:45 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Sep 04 11:49:45 2026 +0530"
      },
      "message": "[YUNIKORN-3380] Fix user/group tracker quota leak on RemoveAllAllocations with pending asks (#1147)\n\nCloses: #1147\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "2577453c1aed9fce3c023b5ed3b6fd80ac0b24e3",
      "tree": "15dee41f1d851bdd1d1572e1e5f2a476253eb1c9",
      "parents": [
        "b92cd1215feee0fd3319600ec46a6e219605580d"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Thu Sep 03 22:27:29 2026 +0800"
      },
      "committer": {
        "name": "HuangTing-Yao",
        "email": "tingyao@apache.org",
        "time": "Thu Sep 03 22:27:29 2026 +0800"
      },
      "message": "[YUNIKORN-3435] Upgrade go dependencies for CVEs (#1140)\n\n[YUNIKORN-3435] Update scheduler-interface and upgrade x/crypto to v0.56.0\n\nCloses: #1140\n\nSigned-off-by: HuangTing-Yao \u003ctingyao@apache.org\u003e\n"
    },
    {
      "commit": "b92cd1215feee0fd3319600ec46a6e219605580d",
      "tree": "0cece6e9e578ae4c69513ae94aa549ab7300d0c7",
      "parents": [
        "e28f03ff4ffc5cbeeb61a494bc8cdc4a994866b1"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Wed Sep 02 14:09:16 2026 +0200"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Sep 02 14:09:16 2026 +0200"
      },
      "message": "[YUNIKORN-3364] Fix event stream history replay blocking forever on disconnect (#1133)\n\nEventStreaming.CreateEventStream replayed historical events with a bare\nblocking send (consumer \u003c- event) outside the forwarder\u0027s select loop.\nWhen a client requested non-zero history and disconnected before the stream\nopened, or when history events exceeded channel buffer size (1000), the send\nblocked indefinitely. Since the goroutine had not yet entered the select loop,\nneither stop channel (stop or e.stopCh) could be reached, causing goroutine\nand memory leaks.\n\nWrap the history-replay send in a select block with e.stopCh and stop cases,\nand add a unit test to verify early disconnect during history replay.\n\nCloses: #1133\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "e28f03ff4ffc5cbeeb61a494bc8cdc4a994866b1",
      "tree": "483e20a7663b5540ea96e56e9fc884a8ac3537dc",
      "parents": [
        "d4eea6f5167788cd61f24417d3f0675182a230bd"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Wed Sep 02 14:02:01 2026 +0200"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Sep 02 14:02:01 2026 +0200"
      },
      "message": "[YUNIKORN-3436] Slow consumer blocks stream shutdown (#1141)\n\nIf a consumer is slow it can block the write of an event into the\nchannel. In that case a closure of the underlying connection will cause\nthe go routine to be leaked.\n\nCloses: #1141\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "d4eea6f5167788cd61f24417d3f0675182a230bd",
      "tree": "cdd6d6fd5674fc33203b479cd882021031c75f33",
      "parents": [
        "6340f2b97c49e84bf8ab7f0c033ad6000e8f744f"
      ],
      "author": {
        "name": "Huangpinhan",
        "email": "huangpinhan9@gmail.com",
        "time": "Wed Sep 02 13:59:46 2026 +0200"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Sep 02 13:59:46 2026 +0200"
      },
      "message": "[YUNIKORN-3440] Use https instead of http in README files (#1143)\n\nUpdate the links in the README to use https instead of http.\n\nCloses: #1143\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "6340f2b97c49e84bf8ab7f0c033ad6000e8f744f",
      "tree": "06f05f12ded833b617f485120f55c9f80006fa2a",
      "parents": [
        "41ae1cc5c9cd2dea6ea6defb3e930c740bae1828"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Sep 02 21:53:31 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 02 21:53:31 2026 +1000"
      },
      "message": "Bump google.golang.org/grpc from 1.83.0 to 1.83.1 (#1142)\n\nBumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.83.0 to 1.83.1.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.83.0...v1.83.1)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n  dependency-version: 1.83.1\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": "41ae1cc5c9cd2dea6ea6defb3e930c740bae1828",
      "tree": "fd71ca7aa13c8d5166dcbd2dbda2baa2b454906b",
      "parents": [
        "2cb0c245adf1be4014fa1dc0e93278def35ee7cb"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Fri Aug 28 12:30:27 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Aug 28 12:30:27 2026 +0530"
      },
      "message": "[YUNIKORN-3372] Clean up event streams in tests to prevent goroutine leaks (#1135)\n\nSeveral tests created event streams via CreateEventStream without calling\nRemoveStream/RemoveEventStream, leaving the forwarder goroutine running after\nthe test finished.\n\nAdd proper cleanup calls (RemoveEventStream / RemoveStream) across all\nevent-streaming unit tests to prevent goroutine and channel leaks.\n\nCloses: #1135\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "2cb0c245adf1be4014fa1dc0e93278def35ee7cb",
      "tree": "a26dd63db4e7db728347d655793bb2c6284a78d3",
      "parents": [
        "7d26b8dc0aeb10f6b558d304a0b585bb47c66d14"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Fri Aug 28 02:27:14 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Fri Aug 28 02:27:14 2026 +1000"
      },
      "message": "[YUNIKORN-3432] LDAP resolver cleanup (#1139)\n\nThe ConvertUGI call does a group resolution before checking the user is\nacceptable based on the user regular expression. This means that the\nresolver gets called for users that will get rejected later wasting\nresources.\n\nFix a panic processing the memberOf attribute.\n\nFix locking calls to not use the instance var, and fix the Stop\nimplementation to remove small race condition around stopped flag which\ncould allow stopping twice.\nFix logging and comments.\n\nCloses: #1139\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "7d26b8dc0aeb10f6b558d304a0b585bb47c66d14",
      "tree": "4260c99a03922fed4b60f53670c75c3fbd6ad58e",
      "parents": [
        "d1772806f15bda6307ac1ac29580d76a747bbdd0"
      ],
      "author": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Aug 27 17:56:57 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Aug 27 17:56:57 2026 +0530"
      },
      "message": "[YUNIKORN-3300] Use feasible nodes returned from K8s PreFilter plugin in core itself (#1096)\n\nK8s PreFilter plugin return list of feasible nodes based on the pod spec. Re-use the same in core itself for every next node being picked from node iterator before doing the predicate checks to improve the overall efficiency.\n\nCloses: #1096\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "d1772806f15bda6307ac1ac29580d76a747bbdd0",
      "tree": "f01ace0cb8087134d28180cd9804b1dfffabf7ab",
      "parents": [
        "59835b4dcffc27dc618eb267f6b45734ee4be8d7"
      ],
      "author": {
        "name": "Tigerquoll",
        "email": "tigerquoll@outlook.com",
        "time": "Tue Aug 25 11:34:09 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Aug 25 11:34:09 2026 +0530"
      },
      "message": "[YUNIKORN-3399] Align RollbackAllocation tests with the ask-presence guard from YUNIKORN-3360 (#1136)\n\nYUNIKORN-3360 added a guard rejecting a RollbackAllocation whose ask is no\nlonger in sa.requests, while YUNIKORN-3352 added tests asserting the previous\nbehaviour where such a \"ghost\" rollback succeeded; the two merged independently\nand conflict semantically, failing two tests on master. This aligns the tests\nwith the guard\u0027s semantics, which also gives that guard its first direct\ncoverage: TestRollbackAllocationAskNotTracked now pins that a ghost rollback is\nrejected and leaves the allocation, the allocated resource and the pending\nhistogram untouched, and the property fuzzer counts ghost rollback attempts,\nasserting each one is rejected and treating it as a no-op in the reference\nmodel. Test-only change, no product code is touched.\n\nSigned-off-by: Tigerquoll \u003ctigerquoll@outlook.com\u003e\n\nCloses: #1136\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "59835b4dcffc27dc618eb267f6b45734ee4be8d7",
      "tree": "a14c4dccf294ca6e06ce834ca946712273d3d315",
      "parents": [
        "58d4cee47ad60b46bd030c33a5d8a6c723dcc473"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Mon Aug 24 17:42:41 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 24 17:42:41 2026 +0530"
      },
      "message": "[YUNIKORN-3378] Fix flaky TestSchedulerRecoveryQuotaPreemption (#1132)\n\n- Use registerAllocations to simulate recovering running allocations during scheduler recovery\n- Assert queue allocated resources are updated to prove allocation completed\n- Validate quota preemption start time scheduling directly via GetPartitionQueueDAOInfo\n\nCloses: #1132\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "58d4cee47ad60b46bd030c33a5d8a6c723dcc473",
      "tree": "1b2117058bb4389758640adb7fe2480df8335ae2",
      "parents": [
        "2a271ec187eba9a79a24be5496c5cf2a46c6ea56"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Sun Aug 23 08:22:09 2026 +0000"
      },
      "committer": {
        "name": "Yu-Lin Chen",
        "email": "chenyulin0719@apache.org",
        "time": "Sun Aug 23 08:22:09 2026 +0000"
      },
      "message": "[YUNIKORN-3401] Fix nonamedreturns lint error in application_property_test.go (#1134)\n\nCloses: #1134\n\nSigned-off-by: Yu-Lin Chen \u003cchenyulin0719@apache.org\u003e\n"
    },
    {
      "commit": "2a271ec187eba9a79a24be5496c5cf2a46c6ea56",
      "tree": "ff47dbd9ac72459a335ebf4c3d3a2204f6b0e5fd",
      "parents": [
        "5dae0cbc70a38dddb827906b6e8fd6a296ce69eb"
      ],
      "author": {
        "name": "Tigerquoll",
        "email": "tigerquoll@outlook.com",
        "time": "Thu Aug 20 19:34:42 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Aug 20 19:34:42 2026 +1000"
      },
      "message": "[YUNIKORN-3352] Replace the O(n) ask-priority rescan with a pending histogram (#1122)\n\nupdateAskMaxPriority recomputed an application\u0027s highest pending ask priority by\nrescanning every one of its asks, and it ran on every allocate, on every\ndeallocate and on every ask removal whose priority was at or above the current\nmaximum. Over a scheduling cycle that is quadratic in the number of asks an\napplication holds.\n\nReplace the rescan with a small histogram of pending asks per priority value,\nmaintained incrementally: incPendingPriority when an ask becomes pending,\ndecPendingPriority when it leaves the pending set. askMaxPriority is then O(1) in\nthe common case, and only a bucket emptying at the current maximum costs a walk -\nover the number of distinct priorities, not the number of asks. The queue is\nnotified only when the value actually changes, where the rescan re-published it\nunconditionally.\n\nNo scheduling behaviour changes: the golden decision-trace tests added in\nYUNIKORN-3338 reproduce byte-for-byte, goldens not regenerated.\n\nGenerated by Author with assistance from Claude Code.\n\nSigned-off-by: Tigerquoll \u003ctigerquoll@outlook.com\u003e\n\nCloses: #1122\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "5dae0cbc70a38dddb827906b6e8fd6a296ce69eb",
      "tree": "54734cad951a4d92e6ee843c86fc28c7922d3aa7",
      "parents": [
        "eaf4e6a0b62178db5dab977c7ed02d8cf6137140"
      ],
      "author": {
        "name": "sidbroski",
        "email": "siddharth.krishna8@gmail.com",
        "time": "Thu Aug 20 19:24:29 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Aug 20 19:24:29 2026 +1000"
      },
      "message": "[YUNIKORN-3347] Improve checksum generation and checks (#1126)\n\nImproved checksum generation and checks, implemented efficient detection\nof the config checksum at the start or end of the serialised config,\noverride missing/incorrect checksum in memory with logging,\nand return the checksum plus comparison result from validateConf.\n\nCloses: #1126\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "eaf4e6a0b62178db5dab977c7ed02d8cf6137140",
      "tree": "ed4e07473b94d5c0ac406ed088cb465f76265086",
      "parents": [
        "52aca855ccf51dacbb55525cc490130872f633e4"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Tue Aug 18 12:23:54 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Aug 18 12:23:54 2026 +0530"
      },
      "message": "[YUNIKORN-3345] Turn on nonamedreturns linter (#1129)\n\nTurn on nonamedreturns linter in .golangci.yml and refactor functions using named returns.\n\nCloses: #1129\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "52aca855ccf51dacbb55525cc490130872f633e4",
      "tree": "96e8bc2250e80400219dfdeb5073dede6640d13b",
      "parents": [
        "f8959477bb9573840d47805ea95d4905b9b496dc"
      ],
      "author": {
        "name": "Aditya Maheshwari",
        "email": "adityadtu5@gmail.com",
        "time": "Tue Aug 18 14:08:18 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Tue Aug 18 14:08:18 2026 +1000"
      },
      "message": "[YUNIKORN-3360] Check allocation is present in requests map before rollback (#1130)\n\nAs a safety check not only make sure the allocation exists on the\nallocations map but also on the request map when rolling back.\n\nCloses: #1130\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "f8959477bb9573840d47805ea95d4905b9b496dc",
      "tree": "876bf77dc90fe40bb301c233bd06976eeb7e5c0e",
      "parents": [
        "ffab9399e0343f287443436406845cf7d8b79b0c"
      ],
      "author": {
        "name": "Aditya Maheshwari",
        "email": "adityadtu5@gmail.com",
        "time": "Mon Aug 17 16:51:51 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 17 16:51:51 2026 +0530"
      },
      "message": "[YUNIKORN-2884] Improve performance tests in yunikorn-core (#1128)\n\n- Fixed timers to report accurate metrics of scheduling\n- Added Allocation metrics as well\n- Using broadcast conditions instead of polling for increasing accuracy\n\nCloses: #1128\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "ffab9399e0343f287443436406845cf7d8b79b0c",
      "tree": "3d17a2e4d84c0f9ed1d21264a64f55a7e9593d4c",
      "parents": [
        "2bb5f7d279b15a952d60fed3ef1929580d309cdf"
      ],
      "author": {
        "name": "stantheman0128",
        "email": "stanshih888@gmail.com",
        "time": "Thu Aug 13 17:41:58 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Aug 13 17:41:58 2026 +0530"
      },
      "message": "[YUNIKORN-3331] Run preemption preconditions before instantiating preemptor (#1125)\n\nNewPreemptor would be instantiated only if required based on the CheckPreconditions outcome\n\nCloses: #1125\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "2bb5f7d279b15a952d60fed3ef1929580d309cdf",
      "tree": "eb46d7227e704443081878ee20f1e117c8292703",
      "parents": [
        "7dc1287c839f5ddcc5d0b1cd14e6f4614a6e09e0"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Thu Aug 13 13:31:10 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Aug 13 13:31:10 2026 +0530"
      },
      "message": "[YUNIKORN-3343] Fix flaky Event publisher test TestServiceStartStopInternal (#1123)\n\nCloses: #1123\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7dc1287c839f5ddcc5d0b1cd14e6f4614a6e09e0",
      "tree": "08febefcb0dc4d6e4d150b16e919f750df6c608a",
      "parents": [
        "42edf052aa81bf71137179991721d1372f3704c0"
      ],
      "author": {
        "name": "Tigerquoll",
        "email": "tigerquoll@outlook.com",
        "time": "Mon Aug 10 19:39:05 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Aug 10 19:39:05 2026 +1000"
      },
      "message": "[YUNIKORN-3351] Hoist the per-ask backoff getter out of tryAllocate (#1121)\n\ntryAllocate re-fetched sa.queue.GetMaxAppUnschedAskBackoff() once per ask walked,\nalthough the value is constant for the whole scheduling cycle. The getter takes\nthe queue lock on every call, so an application with a long ask list pays a queue\nlock acquisition per ask for a value that cannot change while tryAllocate holds\nthe application lock.\n\nGenerated by Author with assistance from Claude Code.\n\nSigned-off-by: Tigerquoll \u003ctigerquoll@outlook.com\u003e\n\nCloses: #1121\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "42edf052aa81bf71137179991721d1372f3704c0",
      "tree": "e530a73e401e2241e8c087555fa7923d6d41d5ea",
      "parents": [
        "11d44cca4ca528c89e03c0e1476e496d829834c9"
      ],
      "author": {
        "name": "Aditya Maheshwari",
        "email": "adityadtu5@gmail.com",
        "time": "Mon Aug 10 13:56:12 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 10 13:56:12 2026 +0530"
      },
      "message": "[YUNIKORN-3323] Replacing google btree with tidwall btree (#1117)\n\nInitiated tidwall btree with below options\n1. With degree as 7\n2. No locks\n\nUsed Walk() method as it is performant than Scan()\n\nCloses: #1117\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "11d44cca4ca528c89e03c0e1476e496d829834c9",
      "tree": "c853a403c9e8a19d0b8268f3a4b8058873d57b8a",
      "parents": [
        "54fa576d24fbf7b658992b5382c74d9b85125e30"
      ],
      "author": {
        "name": "stantheman0128",
        "email": "stanshih888@gmail.com",
        "time": "Mon Aug 10 13:47:51 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 10 13:47:51 2026 +0530"
      },
      "message": "[YUNIKORN-3319] Track reservations released by preemption (#1120)\n\ninitWorkingState() cancels stale reservations while building the working\nstate for TryPreemption, but the released count was discarded on every\nreturn path, including the success path. Report it through the\nreservation-released callback added in YUNIKORN-3321 so the partition\nlevel reservation counter stays accurate whether or not preemption\nitself succeeds.\n\nCloses: #1120\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "54fa576d24fbf7b658992b5382c74d9b85125e30",
      "tree": "a33852c868d786da2bd378b3f8e78c0bec856cb8",
      "parents": [
        "c17e1ba60d3fdc813ebd7366181c2656e7494ae3"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Thu Aug 06 17:45:28 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Aug 06 17:45:28 2026 +1000"
      },
      "message": "[YUNIKORN-3335] Fix queue state leakage in resetQueue test helper (#1119)\n\nresetQueue only reset the passed root queue object, but did not recursively\nreset child queues. As a result, allocatedResource on child queues persisted\nacross table-driven subtests in TestQuotaChangeTryPreemptionForParentQueue.\n\nFix resetQueue to recursively clean child queues using GetCopyOfChildren(),\nand update subtest assertions to align with production event sending logic\nwhen candidates are selected.\n\nCloses: #1119\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "c17e1ba60d3fdc813ebd7366181c2656e7494ae3",
      "tree": "913a540ba79744f2b8afb95ad37527f6f4313f50",
      "parents": [
        "27b930d09c4355bfa3abecacef34d96e09802ee1"
      ],
      "author": {
        "name": "kaijaytu",
        "email": "kaijaytu.kj@gmail.com",
        "time": "Tue Aug 04 16:27:26 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Aug 04 16:27:26 2026 +0530"
      },
      "message": "[YUNIKORN-3320] Add test for required node reservation not cancelled on timeout (#1113)\n\nCloses: #1113\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "27b930d09c4355bfa3abecacef34d96e09802ee1",
      "tree": "4600901ccb403feea812911accf4e0cbe4aa6b32",
      "parents": [
        "39a146ec8279e1b5906399b09aa1098f1fd521ee"
      ],
      "author": {
        "name": "Tigerquoll",
        "email": "tigerquoll@outlook.com",
        "time": "Tue Aug 04 19:19:32 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Tue Aug 04 19:19:32 2026 +1000"
      },
      "message": "[YUNIKORN-3338] Add golden decision-trace regression tests for the scheduler (#1110)\n\nThe existing scheduler tests assert individual outcomes - this ask was\nallocated, that queue is over its limit. None of them assert the scheduler\u0027s\nobservable output as a whole: which application gets which allocation, on\nwhich node, in what order, and what is handed back to the resource manager\nfor release. Most interesting scheduler changes are ordering changes, and a\nchange to ask ordering, node scoring, headroom accounting, victim selection\nor placeholder replacement can leave every existing assertion green while\nchanging where work actually lands.\n\nAdd two tests that pin that output. Both drive a fixed workload through the\nreal RMProxy and partition API and compare the ordered sequence of decisions\nthe resource manager observes through UpdateAllocation - applicationID,\nallocationKey and nodeID for every allocation, applicationID, allocationKey\nand terminationType for every release, and rejections - verbatim against a\ngolden JSON file.\n\nTestGoldenDecisionTrace runs six sequential phases against a single cluster,\neach building on the state the previous one left: priority ordering within an\napplication, removal of a still-pending ask, gang placeholder replacement,\nrestart and allocation recovery, application failure with pending asks\noutstanding, and priority-driven preemption across sibling queues. The node\ncapacity is derived from the per-phase ask sizes and the headroom each phase\nleaves is asserted, so the recovery and failure-cleanup phases genuinely\ndistinguish correct behaviour from incorrect rather than passing regardless.\n\nTestGoldenDecisionTraceScenarios runs six independent workloads, each on its\nown cluster and configuration, isolating a single decision: the FIFO and Fair\napplication sort policies, the binpacking and fair node sort policies, gang\nplaceholder replacement, and preemption. Each policy pair shares an identical\nworkload, so the difference between the two goldens is precisely the policy\u0027s\neffect.\n\nThe workload\u0027s own preconditions - the set of allocations replayed on\nrecovery, and the headroom each phase leaves behind - are hard assertions.\nThey state what the script needs in order to mean anything, so they must fail\nrather than yield even when goldens are being regenerated; only observations\nof behaviour give way. Barriers assert an allocation is present before waiting\nfor it to leave, so they cannot be satisfied by an allocation that was never\nplaced.\n\nTrace capture in the shared mock resource manager callback is opt-in, so the\nrest of the package - including BenchmarkScheduling - does not pay for data it\nnever reads. Trace lengths are asserted exactly rather than as a lower bound,\nand every assertion is preceded by a quiescence round trip, because polling a\nlength cannot establish that no further decision is on its way. The round trip\nuses a queue no scenario schedules in, so it stays outside what the scenarios\nmeasure.\n\nGoldens are regenerated by setting UPDATE_GOLDEN, which reports the divergence\nit observes, rewrites the affected files, and always ends red so that a\nregeneration run cannot be mistaken for a verification run.\n\nThis is a test-only change; no product code is modified.\n\nGenerated by Author with assistance from Claude Code.\n\nSigned-off-by: Tigerquoll \u003ctigerquoll@outlook.com\u003e\n\nCloses: #1110\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "39a146ec8279e1b5906399b09aa1098f1fd521ee",
      "tree": "c958886d0e75fef746274fea9a05a2088f5646d2",
      "parents": [
        "784bdc46d96ad7700cf33d359e7679c1f403c7d1"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Tue Aug 04 11:58:09 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Aug 04 11:58:09 2026 +0530"
      },
      "message": "[YUNIKORN-3334] Fix flaky unit test TestQuotaChangeTryPreemptionWithDifferentResTypes (#1118)\n\nCloses: #1118\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "784bdc46d96ad7700cf33d359e7679c1f403c7d1",
      "tree": "9be8066586b1b2721c0c72a68b2549a8efab41a1",
      "parents": [
        "075eb1dc72a24ea286a0cc4384c7751d7fc3a1c4"
      ],
      "author": {
        "name": "kaijaytu",
        "email": "kaijaytu.kj@gmail.com",
        "time": "Tue Aug 04 11:53:20 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Aug 04 11:53:20 2026 +0530"
      },
      "message": "[YUNIKORN-3325] Deduplicate cancel reservations code flow (#1116)\n\nExtract unreserveForApp() and cancelMatchingReservations() from the\nduplicated reservation cancellation logic in application.go and\npreemption.go.\n\nBoth cancelReservations (tryRequiredNode path) and initWorkingState\n(preemption path) shared the same lock-aware unreserve pattern that\nbranches on whether the reservation belongs to the calling app.\nConsolidate into a single predicate-based method that both call sites\nnow use with their own filter logic.\n\nCloses: #1116\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "075eb1dc72a24ea286a0cc4384c7751d7fc3a1c4",
      "tree": "908598d6c3127d271c1bd50d455583a15c01846a",
      "parents": [
        "c9211f300acaebd3d740794bcf39bcd576a4c019"
      ],
      "author": {
        "name": "Ilia",
        "email": "ilia.lazebnik@placer.ai",
        "time": "Tue Aug 04 14:04:38 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Tue Aug 04 14:04:38 2026 +1000"
      },
      "message": "[YUNIKORN-3341] Allow external web handler gzip encoding (#1115)\n\nThe gzip middleware added to the REST router compresses any response whose\nbuffered body exceeds minCompressionSize, without checking whether the\nwrapped handler had already encoded the body itself.\n\n/ws/v1/metrics is served by promhttp.Handler(), which performs its own gzip\ncontent negotiation: when the client sends Accept-Encoding: gzip it\ncompresses the payload and sets Content-Encoding: gzip. The middleware then\nsees the same Accept-Encoding, buffers promhttp\u0027s already-gzipped bytes,\nfinds them over the threshold and compresses a second time. switchToGzip\nuses Header().Set, so the response still advertises a single\nContent-Encoding: gzip while carrying a doubly encoded body.\n\nSigned-off-by: Ilia \u003cilia.lazebnik@placer.ai\u003e\n\nCloses: #1115\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "c9211f300acaebd3d740794bcf39bcd576a4c019",
      "tree": "a4d5c23135b10b5335f62ba2491b1e45749dbef7",
      "parents": [
        "c66b6bb635236224c7f35ac1e79978b3afac73c1"
      ],
      "author": {
        "name": "kaijaytu",
        "email": "kaijaytu.kj@gmail.com",
        "time": "Mon Aug 03 16:20:01 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 03 16:20:01 2026 +0530"
      },
      "message": "[YUNIKORN-3321] Fix removeAsksInternal return value ignored (#1114)\n\nThe removeAsksInternal call returns the number of reservations released.\nThe partition tracks reservations and these releases must be passed back\nto update the counter correctly.\n\n- partitionContext.removeApplication: capture return value of\n  RemoveAllocationAsk and call decReservationCount\n- partitionContext.removeAllocation: same fix\n- timeoutPlaceholderProcessing: add reservationReleasedCallback\n  (follows existing terminatedCallback pattern) so the async\n  placeholder timeout can notify the partition to decrement\n\nCloses: #1114\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "c66b6bb635236224c7f35ac1e79978b3afac73c1",
      "tree": "0b5d45cd8b72857bc25982f23145a6c610e72f12",
      "parents": [
        "a600815f53810a69c673bab36417000de02477da"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Mon Aug 03 13:11:05 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 03 13:11:05 2026 +0530"
      },
      "message": "[YUNIKORN-3220] Test setpreemptiontime with different resource types (#1107)\n\nImproved unit test coverage for Queue#setPreemptionTime with different resource types\n\nCloses: #1107\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "a600815f53810a69c673bab36417000de02477da",
      "tree": "00df37ef68e3fea1102813bfdbc504b4927f7db1",
      "parents": [
        "a86f91db7e5d4aabd0428a56f20c7567b28180af"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Mon Aug 03 11:48:41 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Aug 03 11:48:41 2026 +0530"
      },
      "message": "[YUNIKORN-3333] Fix flaky unit test TestQuotaChangeTryPreemption (#1108)\n\nCloses: #1108\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "a86f91db7e5d4aabd0428a56f20c7567b28180af",
      "tree": "061b98ecd92057c2226afe0ed374aaade86b8d27",
      "parents": [
        "900bd603df82609152d30de2f4811daf109380ed"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Jul 29 11:29:23 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Jul 29 11:29:23 2026 +1000"
      },
      "message": "[YUNIKORN-3336] event system shutdown leaks go routine or panics (#1111)\n\nCalling StartService for an existing stopped EventPublisher does not\ncreate a new stop channel. Event publisher will ignore start request\nwhen already running. Calling stop twice on the EventPublisher panics as\nit tries to close an already closed channel.\n\nMove config callback setup for event system into the Init() allowing a\nstart from config even when system start did not start the event system.\nMove stop channel creation into start and stop functions\n\nCleanup layout in event system and publisher\nRemove exports from functions and objects where possible.\nFix event loss after restart and race in atomic stop flag\nChange stop flag check to `CompareAndSwap` removing the small race that\ncould occur using `Load` \u0026 `Save`.\nRemove reset of the callback as the callback never changes and is needed\nfor turning on event system if turned off via config.\n\nAdditional metrics for dropped events (created but not channelled)\nNot channelled events are events generated when the event system is\nturned off. Dropped events are created when the channel is not open\nor full while the event system is running.\n\ncreated \u003d\u003d channelled + not channelled + dropped\n\nFixed new data race seen during config reload. Move configuration\nsettings to Init() instead of start for consistent processing.\n\nCloses: #1111\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "900bd603df82609152d30de2f4811daf109380ed",
      "tree": "eb91b012672df8fe2bb9afddc8c6ff4b9477c69d",
      "parents": [
        "4055294d7c9edec1843377a5a9de507c9d707ee8"
      ],
      "author": {
        "name": "Aditya Maheshwari",
        "email": "adityadtu5@gmail.com",
        "time": "Tue Jul 28 22:39:50 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Tue Jul 28 22:39:50 2026 +1000"
      },
      "message": "[YUNIKORN-3316] Handle AssumePod failures in core (#1104)\n\nDuring UpdateAllocation, shim tries to call AssumePod which updates\nin-memory cache of k8s for pod volume bindings (not the actual binding).\nWe have retries in place to retry any failure during this step. But if\nall retries get exhausted we fail the task and ask core to release the\nallocation.\n\nInstead of failing the task, we should retry again the task after all\nthe cleanup.\n\nCore changes to handle updates of tasks with termination type\nSCHEDULING_FAILED_ON_RM\n\nRemove allocation from node, application, update and clear resources on\nqueue, update partition allocation count.\n\nCloses: #1104\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "4055294d7c9edec1843377a5a9de507c9d707ee8",
      "tree": "3f5137f7845dcc1828bba75772d2af04ddea7189",
      "parents": [
        "0e022948ef008635f0f62d96d6bbda1cadfc304e"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Tue Jul 28 11:48:20 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Jul 28 11:48:20 2026 +0530"
      },
      "message": "[YUNIKORN-3337] Fix race condition in webservice unit tests (#1109)\n\nAdd waitForServerReady helper in webservice_test.go using common.WaitForCondition() and net.DialTimeout() to prevent connection refused failures during local test execution.\n\nCloses: #1109\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "0e022948ef008635f0f62d96d6bbda1cadfc304e",
      "tree": "8af931ef2317cf3f6c3355d90cab335cb99431be",
      "parents": [
        "7930092a998ca28e886195d044e4e0179ac51c29"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 27 16:32:41 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Mon Jul 27 16:32:41 2026 +0530"
      },
      "message": "Bump google.golang.org/grpc from 1.79.3 to 1.82.1 (#1112)\n\nBumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.79.3 to 1.82.1.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.79.3...v1.82.1)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n  dependency-version: 1.82.1\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\nCloses: #1112\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "7930092a998ca28e886195d044e4e0179ac51c29",
      "tree": "3e58adf0fbaff2f8fc76aa674bb8ab2da88ddaba",
      "parents": [
        "c2867c6d559be645df784fa0a118dad96326f22a"
      ],
      "author": {
        "name": "PoiBlackTea",
        "email": "kill630459@gmail.com",
        "time": "Fri Jul 24 17:17:52 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Jul 24 17:17:52 2026 +0530"
      },
      "message": "[YUNIKORN-3326] Change BackoffDeadline field in REST DAO to int64 (#1105)\n\nChange BackoffDeadline field in ApplicationDAOInfo struct from *time.Time to *int64 (UnixNano) to align with YuniKorn REST DAO time encoding standards and ensure system-independent JSON output.\n\nCloses: #1105\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "c2867c6d559be645df784fa0a118dad96326f22a",
      "tree": "8cbf65664a575b7be09f698446d378715d905a4c",
      "parents": [
        "3dbbb5d73823841dcd7af754984bb0ab53585da7"
      ],
      "author": {
        "name": "mhasnain",
        "email": "mhasnain@cloudera.com",
        "time": "Wed Jul 22 01:08:00 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Jul 22 01:08:00 2026 +1000"
      },
      "message": "[YUNIKORN-3277] Expose ask backoff and quota preemption in REST (#1102)\n\nExpose ask backoff and quota preemption starttime as part of the queue info.\nRefactored the unit test splitting backoff and quota preemption start\ntime into separate tests.\n\nCloses: #1102\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "3dbbb5d73823841dcd7af754984bb0ab53585da7",
      "tree": "ca62fe531363c1c80d8e6c6c9912a496ee3afa21",
      "parents": [
        "902ba02cb7c4a56fec492ada775f2fa8cd34cf6f"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Jul 13 15:39:38 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Jul 13 15:39:38 2026 +1000"
      },
      "message": "[YUNIKORN-3318] Deadlock in preemption init un-reserving apps (#1103)\n\nIf an application A holds a reservation R on a node N the preemption\ninitialisation will deadlock.\n\nDuring the initWorkingState() call reservations are released from a node\nif they are older than the timeout, not a required node allocation, and\nthe priority is lower than the allocation we are trying to preempt for.\n\nFix time calculation to use the reservation creation time for accuracy.\nTrack the number of reservations released.\nCorrectly determine if a node is still reserved after releases.\n\nfix unit tests\n\nCloses: #1103\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "902ba02cb7c4a56fec492ada775f2fa8cd34cf6f",
      "tree": "1bedc30073667767f6a247f04e09ea0485e5c731",
      "parents": [
        "be3bb487298956dd70906fca15e577bbc12d23cb"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Jul 09 15:30:30 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Thu Jul 09 15:30:30 2026 +0530"
      },
      "message": "[YUNIKORN-3313] expose UserGroupResolver type in REST (#1101)\n\n- Expose the configuration for the UserGroupResolver in the Partition rest\nobject. Adding the type retrieval from the resolver into the resolver\nand partition code.\n\n- Cleanup of the UserGroupCache code, function comments, possible nil\npointer\n\n- Additional unit tests for resolver create and update\n\n- Extend handler tests for resolver check\n\n- Fix context cleanup in handler tests\n\n- Different tests setup new cluster contexts. None of the tests stop the\nbackground processing or clean up the created globals before dropping\nthe reference to the context.\n\n- The UserGroupCache is protected by a once(). The cache is created when\nthe partition is created. It cannot be replaced. Depending on the test\nrun ordering the created partitions might not have the expected resolver\nin the cache. Update testing for the cache will also fail.\nUpdate all tests that create a new partition to stop the UserGroupCache.\nStopping the cache will make sure the next partition has the expected\nresolver.\n\nCloses: #1101\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "be3bb487298956dd70906fca15e577bbc12d23cb",
      "tree": "31bc24c8de4b3713c50696897e60c71e50b010c6",
      "parents": [
        "2d34edf0b10a92f41e9398bac0eecdc62a0414ee"
      ],
      "author": {
        "name": "Guruprasad Veerannavaru",
        "email": "guruprasadbv4648@gmail.com",
        "time": "Thu Jul 02 14:14:21 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Thu Jul 02 14:14:21 2026 +1000"
      },
      "message": "[YUNIKORN-3310] Add Counter metric for terminal app states (#1097)\n\nQueue removal (YUNIKORN-2908) resets terminal state gauges\n(completed/failed/rejected) to zero on queue recreation. Add a\nCounterVec (yunikorn_queue_app_total) that persists across queue\nlifecycle by reusing the existing Prometheus registration.\n\nCommitted-By-Agent: claude\n\nCloses: #1097\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "2d34edf0b10a92f41e9398bac0eecdc62a0414ee",
      "tree": "e4db05338dc67d083aeb46833ad36a7366b733b5",
      "parents": [
        "2554ab05bc80336456bfedac31c65916d55cdde5"
      ],
      "author": {
        "name": "mhasnain",
        "email": "mhasnain@cloudera.com",
        "time": "Wed Jul 01 01:21:32 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Wed Jul 01 01:21:32 2026 +1000"
      },
      "message": "[YUNIKORN-3304] update e2e test in pre-commit to k8s v1.36 (#1099)\n\nCloses: #1099\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "2554ab05bc80336456bfedac31c65916d55cdde5",
      "tree": "a887c4b07c22a9ba13ac97d4caa824a0f2619b89",
      "parents": [
        "6b6edc61194cf037451a590592fc2a7cf4d270fa"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Tue Jun 30 17:27:54 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Tue Jun 30 17:27:54 2026 +0530"
      },
      "message": "[YUNIKORN-3312] fix logger setup in core (#1100)\n\nFix the duplicate index for the preemption loggers. Add the new\npreemption logger to the list of known log handles.\nFix the unit tests to take into account the extra logger.\n\nCloses: #1100\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    },
    {
      "commit": "6b6edc61194cf037451a590592fc2a7cf4d270fa",
      "tree": "1273fa8e5fb9682b213a343d3885d55aca9e01ae",
      "parents": [
        "20c6c151b54916a54e73af1cc2475a1b895a994b"
      ],
      "author": {
        "name": "Ayub Pathan",
        "email": "14160850+ayubpathan@users.noreply.github.com",
        "time": "Tue Jun 30 12:25:32 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Tue Jun 30 12:25:32 2026 +1000"
      },
      "message": "[YUNIKORN-3245] Reset queue properties on config update (#1086)\n\nReset queue fields derived from properties before applying the current\neffective property map.\nThis reverts removed queue properties to their defaults during config\nupdates before applying the currently set values.\n\nCloses: #1086\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "20c6c151b54916a54e73af1cc2475a1b895a994b",
      "tree": "43000194bd158411d05795cd8b02bb07fa196cd7",
      "parents": [
        "ea164ef95d8afda657401e6d0827a2b20cfa841d"
      ],
      "author": {
        "name": "Venkateshwaran Shanmugham",
        "email": "venkateshwaracholan@gmail.com",
        "time": "Mon Jun 22 15:22:22 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Jun 22 15:22:22 2026 +1000"
      },
      "message": "[YUNIKORN-3296] Fix race between AddEvent and Stop (#1093)\n\nStop() closes and clears ec.channel while holding the event system mutex.\nAddEvent() previously accessed ec.channel without synchronization. During\nTestSchedulerRecoveryQuotaPreemption, scheduler go-routines could still emit\nevents while StopAll() shut down the event system, resulting in a race\ndetected by go test -race.\n\nThe reported race was between:\n\nEventSystemImpl.AddEvent()\nEventSystemImpl.Stop() (close(ec.channel) / ec.channel \u003d nil)\n\nThis race could also lead to a send on closed channel panic.\n\nCloses: #1093\n\nSigned-off-by: Venkateshwaran Shanmugham \u003cvenkateshwaracholan@gmail.com\u003e\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "ea164ef95d8afda657401e6d0827a2b20cfa841d",
      "tree": "ed5314ad1966b3071be34610861facb740d98cf3",
      "parents": [
        "2cf452f65ea97f33e4bc90927f86e57de7fbd417"
      ],
      "author": {
        "name": "Aditya Maheshwari",
        "email": "adityadtu5@gmail.com",
        "time": "Mon Jun 22 11:32:00 2026 +1000"
      },
      "committer": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Mon Jun 22 11:32:00 2026 +1000"
      },
      "message": "[YUNIKORN-3239] handling infra events and allocation events sepately (#1095)\n\nAdding or updating a node when in the same queue could get blocked by\nthe scheduling cycle behind application and allocation updates.\n\nChanges to handle infra events, node events and allocation events\nseparately. This will prevent node or infra events from getting blocked\nduring a spike in allocation  events or the scheduling cycle..\n\nCloses: #1095\n\nSigned-off-by: Wilfred Spiegelenburg \u003cwilfreds@apache.org\u003e\n"
    },
    {
      "commit": "2cf452f65ea97f33e4bc90927f86e57de7fbd417",
      "tree": "0be3f4f3594475ca0d27cdea57ba09d883a52ed2",
      "parents": [
        "568247d1435b0d0275d28f50c55b959c587024fc"
      ],
      "author": {
        "name": "Wilfred Spiegelenburg",
        "email": "wilfreds@apache.org",
        "time": "Fri Jun 19 10:46:41 2026 +0530"
      },
      "committer": {
        "name": "mani",
        "email": "manirajv06@gmail.com",
        "time": "Fri Jun 19 10:46:41 2026 +0530"
      },
      "message": "[YUNIKORN-3194] Update PR template to ask about AI contribution (#1094)\n\nUpdate PR template:\n* ask about AI contribution\n* Check for testing performed (new make target to simplify task)\n* Update Jira area\n\nCleanup of Makefile: variables for tools and build dir\n\nCloses: #1094\n\nSigned-off-by: mani \u003cmanirajv06@gmail.com\u003e\n"
    }
  ],
  "next": "568247d1435b0d0275d28f50c55b959c587024fc"
}
