)]}'
{
  "log": [
    {
      "commit": "5823aee8d60999e3f40d34164ee6244d34c956f0",
      "tree": "a1142e05317f3d8db313bdde1b69239c0413e2b7",
      "parents": [
        "bfd10e2a516473a24ce752db7fd7a90a1d9b24e6",
        "83c67b7ff69775bd6d970b088dcfd8c376fb2b68"
      ],
      "author": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 22:24:17 2026 +0000"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 22:24:17 2026 +0000"
      },
      "message": "Merge branch \u0027stephen-docs-conmgr-default-phrasing\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3985"
    },
    {
      "commit": "83c67b7ff69775bd6d970b088dcfd8c376fb2b68",
      "tree": "7dbf594cff81e67a61d08376796409839f5fe76f",
      "parents": [
        "2048ae15e879df95637dfcd3cee2ddec1dd6480d"
      ],
      "author": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Mon Jul 27 13:30:30 2026 -0600"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 16:12:19 2026 -0600"
      },
      "message": "Docs - Standardize alphabetic ordering for daemon-specific Parameters\n"
    },
    {
      "commit": "2048ae15e879df95637dfcd3cee2ddec1dd6480d",
      "tree": "1bfa4d6f71bae73abe9cc51f3da6bbc7f4d0eeec",
      "parents": [
        "6701e4e3c7d01159089dbe8076b381aa0421babb"
      ],
      "author": {
        "name": "Nathan Nash",
        "email": "nnash@nvidia.com",
        "time": "Wed Jul 15 16:49:54 2026 +0000"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 16:12:08 2026 -0600"
      },
      "message": "Docs - Standardize bracket formatting for daemon-specific Parameters\n"
    },
    {
      "commit": "bfd10e2a516473a24ce752db7fd7a90a1d9b24e6",
      "tree": "5b4d7ccfd29bc739817648d105eec9c4a47ebeb3",
      "parents": [
        "9f034fa89f241e750d87197605336a778d65d1b0",
        "07b7e3f8ceaa1f63a43c3d2d6c6fe02f294686d7"
      ],
      "author": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 20:50:21 2026 +0000"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 20:50:21 2026 +0000"
      },
      "message": "Merge branch \u002751083-docs-data-parser-table\u0027 into \u0027master\u0027\n\nCloses #51083\n\nSee merge request SchedMD/dev/slurm!4097"
    },
    {
      "commit": "9f034fa89f241e750d87197605336a778d65d1b0",
      "tree": "b855ce3543735dd9348694d89274cd3dfdfaa501",
      "parents": [
        "904c0450c1f860b18605155332879ffc846fc3a9",
        "f05ed2e531707c7cf0a72f57b22b2aeaa03ec418"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jul 29 14:44:25 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jul 29 14:44:25 2026 -0600"
      },
      "message": "Merge branch \u0027t25406-conmgr-srun-deadlock\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3876"
    },
    {
      "commit": "904c0450c1f860b18605155332879ffc846fc3a9",
      "tree": "61b164d58830abc2b53b87c0905d14c1a2ee24cd",
      "parents": [
        "377cf1a46326c94a8f03ea84c50187d16311ba43",
        "e06f32e2e9657616046a381f7c619b71aa10412f"
      ],
      "author": {
        "name": "Nathan Nash",
        "email": "nnash@nvidia.com",
        "time": "Wed Jul 29 20:02:42 2026 +0000"
      },
      "committer": {
        "name": "Nathan Nash",
        "email": "nnash@nvidia.com",
        "time": "Wed Jul 29 20:02:42 2026 +0000"
      },
      "message": "Merge branch \u0027nate-i50477\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3941"
    },
    {
      "commit": "07b7e3f8ceaa1f63a43c3d2d6c6fe02f294686d7",
      "tree": "01d9f2521f1c7cd1094b06c08bc386c2a467bac7",
      "parents": [
        "b46290357364e8c4007b35930e38bc2fb1d6531e"
      ],
      "author": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Tue Jul 28 13:31:40 2026 -0600"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 13:55:17 2026 -0600"
      },
      "message": "Docs - Remove orphaned closing paragraph tag\n\nIssue: 51083\n"
    },
    {
      "commit": "b46290357364e8c4007b35930e38bc2fb1d6531e",
      "tree": "34ef0ab061d152728e3adc3d2ef53f2158ee39e2",
      "parents": [
        "3d322c0bc93d3b272060fedc5e0a80af113b1789"
      ],
      "author": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Tue Jul 28 12:14:40 2026 -0600"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Wed Jul 29 13:54:32 2026 -0600"
      },
      "message": "Docs - Update versions in parser lifecycle table\n\nAdd version 45, remove 39\n\nIssue: 51083\n"
    },
    {
      "commit": "377cf1a46326c94a8f03ea84c50187d16311ba43",
      "tree": "1a838cb3f55991d999c0309f04146d9bc191868e",
      "parents": [
        "a21d8cdef240a59c7d304f02d92c086601c18a03",
        "d86e5bbeea724852366b15848532b099e7afa095"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Wed Jul 29 12:37:09 2026 -0600"
      },
      "committer": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Wed Jul 29 12:37:09 2026 -0600"
      },
      "message": "Merge branch \u0027atf_set_parameter\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4098"
    },
    {
      "commit": "d86e5bbeea724852366b15848532b099e7afa095",
      "tree": "1a838cb3f55991d999c0309f04146d9bc191868e",
      "parents": [
        "a21d8cdef240a59c7d304f02d92c086601c18a03"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Tue Jul 28 18:43:35 2026 -0600"
      },
      "committer": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Tue Jul 28 20:42:43 2026 -0600"
      },
      "message": "Testsuite - Fix set_node_parameter() on configs with blank lines\n\nre.split() always returns at least one element, so the `len(words) \u003c 1`\nguard in set_node_parameter() and set_partition_parameter() is dead code.\nA blank line therefore reaches `words[0][0]` as an empty string and\nraises IndexError, so either function fails on any slurm.conf that\ncontains a blank line before the node or partition being edited.\n\nGuard on the word being empty instead. Seen as a setup error in\ntest_144_15 under the thread_id config variants.\n\nTicket: 25525\n"
    },
    {
      "commit": "a21d8cdef240a59c7d304f02d92c086601c18a03",
      "tree": "c71b07cd830ccf156c80be3acfc2aa4cedfc759a",
      "parents": [
        "698015058b6cc778aa3b4e614e56f820d5d322d4",
        "294dbbd3a6991ba44c644d850f6e69f2c1437167"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 12:04:20 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 12:04:20 2026 -0600"
      },
      "message": "Merge branch \u002725532-bad-update-time-restapi\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4029"
    },
    {
      "commit": "294dbbd3a6991ba44c644d850f6e69f2c1437167",
      "tree": "c71b07cd830ccf156c80be3acfc2aa4cedfc759a",
      "parents": [
        "fb0caa94abc4443796b7037ee27ad5cbd561e67a"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Wed Jul 15 12:49:42 2026 -0400"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 11:41:42 2026 -0600"
      },
      "message": "Testsuite - Add test_112_45 about get_nodes update_time\n\nCover incremental GET /nodes with v0.0.45 for the update_time 500 fix.\n\nTicket: 25532\n"
    },
    {
      "commit": "fb0caa94abc4443796b7037ee27ad5cbd561e67a",
      "tree": "510e4b82fdc2c633ccc40f4eddce2c5e6ba22099",
      "parents": [
        "490720e03ea7959962c4bb91ed792516021f57b1"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Thu Jul 09 16:35:06 2026 -0400"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 11:41:42 2026 -0600"
      },
      "message": "Testsuite - Add test case in test_112_46 about get_nodes update_time\n\nVerify that GET /slurm/v0.0.46/nodes with an update_time query parameter\nreturns HTTP 200 after a node has been updated. This guards against the\nregression where slurmrestd returned an HTTP 500 with \"Unable to query\npartitions\" from _dump_nodes().\n\nTicket: 25532\n"
    },
    {
      "commit": "490720e03ea7959962c4bb91ed792516021f57b1",
      "tree": "1538704b7e71a1a220c305960ff9b8797b1263e3",
      "parents": [
        "7b81d8b292179c0eb099a071b8c16639ce7ffb2a"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Tue Jul 14 14:46:54 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 11:41:42 2026 -0600"
      },
      "message": "Docs - Document HTTP 304 response for update_time queries\n\nslurmrestd maps SLURM_NO_CHANGE_IN_DATA to HTTP 304 (Not Modified) for\nincremental queries that pass the update_time parameter. Add a note to\nthe docs so clients know to treat a 304 as \"no changes\" and reuse their\nprior results.\n\nTicket: 25532\n"
    },
    {
      "commit": "7b81d8b292179c0eb099a071b8c16639ce7ffb2a",
      "tree": "93fd5a1833d5355e5fc68909208d24017d96459d",
      "parents": [
        "cbbcf7bdeb3079debeb47ce6f655870c62cf7887"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Tue Jul 14 14:46:33 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 11:41:42 2026 -0600"
      },
      "message": "slurmrestd - Fix nodes update_time parameter description\n\nCorrect the OPENAPI_NODES_QUERY update_time parameter description\nto reference \"nodes\" so the generated OpenAPI/REST docs describe\nthe nodes endpoint accurately.\n\nTicket: 25532\n"
    },
    {
      "commit": "cbbcf7bdeb3079debeb47ce6f655870c62cf7887",
      "tree": "e18a5cbf6c20cfa147b0f2af83ff21caebeafb7e",
      "parents": [
        "698015058b6cc778aa3b4e614e56f820d5d322d4"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Thu Jul 09 16:35:06 2026 -0400"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 28 11:41:42 2026 -0600"
      },
      "message": "slurmrestd - Fix HTTP 500 from get_nodes when update_time is passed\n\n_dump_nodes() passed the client-supplied update_time to both\nslurm_load_node() and slurm_load_partitions(). Those calls return\nSLURM_NO_CHANGE_IN_DATA when the respective data is unchanged since that\ntime, which the handler treated as a fatal error and surfaced as an HTTP\n500 (\"Unable to query partitions\").\n\nLoad partitions with update_time\u003d0 since they are only needed to build\nthe node\u003c-\u003epartition mapping, and treat an unchanged node load as a\nsuccessful empty response with a warning, matching the jobs endpoint.\n\nChangelog: slurmrestd - Fix HTTP 500 error from GET\n /slurm/{version}/nodes when the update_time query parameter is\n passed and only partition data is unchanged.\nTicket: 25532\n"
    },
    {
      "commit": "698015058b6cc778aa3b4e614e56f820d5d322d4",
      "tree": "51b2c05e70587713ba3dc5eb7aa6770a30a408e0",
      "parents": [
        "fa6dc1f940f6429f6ca84ab8f7913da8c494157e",
        "3d322c0bc93d3b272060fedc5e0a80af113b1789"
      ],
      "author": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 20:40:19 2026 +0000"
      },
      "committer": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 20:40:19 2026 +0000"
      },
      "message": "Merge branch \u002725536-overcommit-silently-ignored\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4041"
    },
    {
      "commit": "3d322c0bc93d3b272060fedc5e0a80af113b1789",
      "tree": "51b2c05e70587713ba3dc5eb7aa6770a30a408e0",
      "parents": [
        "b149c443c13e0f3bfc09feaf1057da9d9624f72d"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Fri Jul 17 18:00:32 2026 -0600"
      },
      "committer": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 13:40:02 2026 -0600"
      },
      "message": "Testsuite - Add test_150_8 about topology overcommit with cpus-per-task\n\nVerify -N8 -n272 -c1 -O runs across a topology-configured cluster,\ncovering the topology eval_nodes placement path that the cpus-per-task\novercommit fix modifies and the multi-node shape from the ticket. The\nsingle-node cons_tres path is covered by test_116_9. Gated to 26.11.\n\nTicket: 25536\n"
    },
    {
      "commit": "b149c443c13e0f3bfc09feaf1057da9d9624f72d",
      "tree": "8316e3f3b437b2d5dc0e7859872d48d8611a0c56",
      "parents": [
        "e84aab0acdcd623f3c4110f8d760ea1cb4ce38f0"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Tue Jul 14 08:59:30 2026 -0400"
      },
      "committer": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 13:40:02 2026 -0600"
      },
      "message": "Testsuite - Add test_144_14 about overcommit with GRES tres-per-task\n\nVerify --overcommit does not grant CPU overcommit placement when\ntres_per_task includes GRES or mixed CPU and GRES entries. Exercise\nboth submit rejection and accepted-but-pending paths.\n\nTicket: 25536\n"
    },
    {
      "commit": "e84aab0acdcd623f3c4110f8d760ea1cb4ce38f0",
      "tree": "c9bf3c07ee0d2f2211cbd54b32e938887f3058ba",
      "parents": [
        "6a6afafdcc426c148c3075e2d8f246c05c963143"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Tue Jul 14 08:59:11 2026 -0400"
      },
      "committer": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 13:40:02 2026 -0600"
      },
      "message": "Testsuite - Add test case in test_116_9 about overcommit cpus-per-task\n\nVerify srun -N1 -n2 -c1 -O completes on a one-CPU node instead of\nremaining pending with Reason Resources. The case is added to the\ncanonical overcommit test (test_116_9) rather than a separate file, and\nthe redundant test_116_59 is removed.\n\nTicket: 25536\n"
    },
    {
      "commit": "6a6afafdcc426c148c3075e2d8f246c05c963143",
      "tree": "2b636c85d748b3bb76c90b5f4d38a82cba6a946a",
      "parents": [
        "f74262c96a3899c8eda6128dfc165c0707db3587"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Tue Jul 14 08:59:02 2026 -0400"
      },
      "committer": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 13:40:02 2026 -0600"
      },
      "message": "cons_tres/topology - Preserve overcommit with CPU-only tres_per_task\n\nOvercommit placement was disabled whenever tres_per_task was set,\nincluding cpu\u003dN from --cpus-per-task. Use tres_per_task_is_cpu_only()\nso overcommit still applies for CPU-only requests while GRES or mixed\ntres_per_task keeps the existing GRES-sensitive placement path.\n\nChangelog: Fix jobs with --overcommit and --cpus-per-task remaining\n pending with Reason Resources.\nTicket: 25536\n"
    },
    {
      "commit": "f74262c96a3899c8eda6128dfc165c0707db3587",
      "tree": "8a8a71c74b7a4e3c078ae9d3f78c22f1be6473a6",
      "parents": [
        "fa6dc1f940f6429f6ca84ab8f7913da8c494157e"
      ],
      "author": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Thu Jul 16 13:39:31 2026 -0600"
      },
      "committer": {
        "name": "Danny Auble",
        "email": "dauble@nvidia.com",
        "time": "Mon Jul 27 13:40:02 2026 -0600"
      },
      "message": "Split double check to add to the need_unpack in the next commit\n\nTicket: 25536\n"
    },
    {
      "commit": "6701e4e3c7d01159089dbe8076b381aa0421babb",
      "tree": "fbcf6bc160a14bf55ee02f328cf9f3292453bbfd",
      "parents": [
        "fa6dc1f940f6429f6ca84ab8f7913da8c494157e"
      ],
      "author": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Thu Jul 02 16:36:52 2026 -0600"
      },
      "committer": {
        "name": "Stephen Kendall",
        "email": "skendall@nvidia.com",
        "time": "Mon Jul 27 13:18:24 2026 -0600"
      },
      "message": "Docs - Standardize phrasing of default workerpool_threads value\n\nRephrase to match other entries in SlurmdParameters\n"
    },
    {
      "commit": "fa6dc1f940f6429f6ca84ab8f7913da8c494157e",
      "tree": "e77a79135f0bc0b3bb3b3a10c32fafaf2d5e3db8",
      "parents": [
        "8afe3b80f8f000a482a56a08844f3c9fdbc52cf0",
        "1aeb82896eb131b48449455aee8d57b69a185cb6"
      ],
      "author": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 19:07:38 2026 +0200"
      },
      "committer": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 19:07:38 2026 +0200"
      },
      "message": "Merge branch \u0027nate-t24549-slurmrestd\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3966"
    },
    {
      "commit": "f05ed2e531707c7cf0a72f57b22b2aeaa03ec418",
      "tree": "ac36dfd3292860e71e28cae9c6f99b31b61a7699",
      "parents": [
        "5a7307e70ddab898d4d80ef71ff7bece611e7d97"
      ],
      "author": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Sat Jun 13 01:46:07 2026 +0200"
      },
      "committer": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 18:59:15 2026 +0200"
      },
      "message": "Testsuite - add conmgr pollctl interrupt regression test\n\nAdd testsuite/python/check/conmgr/test_polling.c, a unit test that drives\nthe pollctl layer directly: it requests an interrupt while not polling and\nthen polls, asserting the poll returns instead of blocking. This reproduces\nthe lost-wakeup that hung srun on shutdown (e.g. for MPI_Comm_spawn steps)\nwithout needing MPI or a running cluster.\n\nWithout the conmgr fix the poll blocks forever and the test is\nkilled at the tcase timeout; with it the test passes immediately.\n\nThe test only builds when the Check framework is available (HAVE_CHECK).\n\nTicket: 25227\n"
    },
    {
      "commit": "5a7307e70ddab898d4d80ef71ff7bece611e7d97",
      "tree": "43fbb55f852ff2e2885a3da4ae0c3c8b3a176b95",
      "parents": [
        "f650ac686b9d957986e988f2d2a09413ec308f5f"
      ],
      "author": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Sat Jun 13 01:27:02 2026 +0200"
      },
      "committer": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 18:59:15 2026 +0200"
      },
      "message": "conmgr - Honor poll interrupt requested while not polling\n\nMirror the epoll backend lost-wakeup fix in the poll(2) backend.\n\npollctl_interrupt() silently ignored a request when pctl.polling was\nfalse. There is a window where the poll work is queued (mgr.poll_active\nis set) but the worker has not yet entered poll() and set pctl.polling.\nAn interrupt requested in that window - notably on shutdown - was lost,\nand the worker then blocked indefinitely in poll(timeout\u003d-1) with no\nfurther wakeup.\n\nRecord the request instead of dropping it when not polling, and have\n_poll() honor a pending request by skipping the blocking poll(). Both\nthe arming and the request are done under pctl.mutex, so every\ninterleaving is covered: _interrupt() either sees pctl.polling and sends\nthe wakeup byte, or it records the request and the imminent _poll()\nskips blocking.\n\nTicket: 25227\n"
    },
    {
      "commit": "f650ac686b9d957986e988f2d2a09413ec308f5f",
      "tree": "971db43f09ab695b1e6cad4e54ce84bae63f1520",
      "parents": [
        "0d952df707a00d4cb87d3a3aabd582b0dfbef86f"
      ],
      "author": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Sat Jun 13 01:27:02 2026 +0200"
      },
      "committer": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 18:59:15 2026 +0200"
      },
      "message": "conmgr - Honor epoll interrupt requested while not polling\n\npollctl_interrupt() silently ignored a request when pctl.polling was\nfalse. There is a window where the poll work is queued (mgr.poll_active\nis set) but the worker has not yet entered epoll_wait() and set\npctl.polling. An interrupt requested in that window - notably on\nshutdown - was lost, and the worker then blocked indefinitely in\nepoll_wait(timeout\u003d-1) with no further wakeup. As a result srun\u0027s\nconmgr_fini() -\u003e wait_for_watch() never returned and the process hung.\n\nRecord the request instead of dropping it when not polling, and have\n_poll() honor a pending request by skipping the blocking wait. Both the\narming and the request are done under pctl.mutex, so every interleaving\nis covered: _interrupt() either sees pctl.polling and sends the wakeup\nbyte, or it records the request and the imminent _poll() skips blocking.\n\nThis was observed as an srun launched by MPI_Comm_spawn (mpi/pmi2)\nintermittently hanging on exit; the parent srun\u0027s spawn_job_wait()\nbounded the hang to ~60s before sending SIGTERM.\n\nChangelog: Fix srun intermittently hanging at job or step completion due\n to a connection manager shutdown race.\nTicket: 25227\n"
    },
    {
      "commit": "0d952df707a00d4cb87d3a3aabd582b0dfbef86f",
      "tree": "bcd37346867c0ac9117cfc9c4f7ea1a24de77aca",
      "parents": [
        "c23db2d9cc1e966962bea9ce742352f7597bd683"
      ],
      "author": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Fri Jul 10 17:41:11 2026 +0200"
      },
      "committer": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 18:59:15 2026 +0200"
      },
      "message": "conmgr - Clear unused poll() event slots after populating\n\n_poll() packs the currently registered file descriptors into the front\nof the persistent pctl.events[] array and hands poll() only the first\nfd_count entries. The trailing slots kept the fd and revents that an\nearlier, larger cycle wrote there, leaving the reused array describing\ndescriptors that are no longer registered.\n\nHoist the populate index event_i to function scope so the number of\npopulated slots is known after the loop, then reset every unused trailing\nslot to { .fd \u003d -1 }. This keeps pctl.events[] free of stale fd and\nrevents entries beyond the range currently handed to poll().\n\nTicket: 25227\n"
    },
    {
      "commit": "c23db2d9cc1e966962bea9ce742352f7597bd683",
      "tree": "71e48597321e43fb76ab420a832d8c7326e4f8e7",
      "parents": [
        "8afe3b80f8f000a482a56a08844f3c9fdbc52cf0"
      ],
      "author": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Fri Jul 10 17:41:11 2026 +0200"
      },
      "committer": {
        "name": "Felip Moll",
        "email": "fmoll@nvidia.com",
        "time": "Mon Jul 27 18:59:12 2026 +0200"
      },
      "message": "conmgr - Rename poll() populate index t to event_i\n\nRename the _poll() population loop index from t to the clearer event_i\nand write through the events alias instead of pctl.events[] directly.\n\nTicket: 25227\n"
    },
    {
      "commit": "1aeb82896eb131b48449455aee8d57b69a185cb6",
      "tree": "e77a79135f0bc0b3bb3b3a10c32fafaf2d5e3db8",
      "parents": [
        "a90e38bfdd0c3d32dd833aa71dcd40df8bf9cb47"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jul 10 09:35:52 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:55 2026 -0600"
      },
      "message": "slurmrestd - Run probes in _req_livez()\n\nMimic slurmctld\u0027s livez endpoint checks.\n\nChangelog: slurmrestd - Improve health checks in \u0027GET /livez\u0027 endpoint.\nTicket: 24549\n"
    },
    {
      "commit": "a90e38bfdd0c3d32dd833aa71dcd40df8bf9cb47",
      "tree": "474d0b42244fe76fdb5e134bffbf59da5315a82a",
      "parents": [
        "c8a54388879634539e44bd60c0dcf9e682e0739c"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jul 10 09:35:09 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:55 2026 -0600"
      },
      "message": "slurmctld - Add logging to _req_livez()\n\nTicket: 24549\n"
    },
    {
      "commit": "c8a54388879634539e44bd60c0dcf9e682e0739c",
      "tree": "53a2eb7e1b78e0ca7c06476626eebd56fa2a86c4",
      "parents": [
        "078a003ce47f611bde7fff91911cfef75c0261f9"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jul 10 09:33:24 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:55 2026 -0600"
      },
      "message": "slurmrestd - Run probes in _req_healthz()\n\nMimic slurmctld\u0027s healthz endpoint checks.\n\nChangelog: slurmrestd - Improve health checks in \u0027GET /healthz\u0027 endpoint.\nTicket: 24549\n"
    },
    {
      "commit": "078a003ce47f611bde7fff91911cfef75c0261f9",
      "tree": "cb0166740850705c25decdf6e896b8e0c9b614f9",
      "parents": [
        "af4f971ab17b86f16cad4004b5f2e2e08a9cca82"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jul 10 09:32:51 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:55 2026 -0600"
      },
      "message": "slurmctld - Add logging to _req_healthz()\n\nTicket: 24549\n"
    },
    {
      "commit": "af4f971ab17b86f16cad4004b5f2e2e08a9cca82",
      "tree": "fae4b9f0f2a361e0d8a855a811bc6fc6fc9666ce",
      "parents": [
        "e30f30908a9b982883598bcfee6d03c55d9018ec"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jun 29 14:31:04 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:55 2026 -0600"
      },
      "message": "slurmrestd - Support verbose /readyz\n\nTicket: 24549\n"
    },
    {
      "commit": "e30f30908a9b982883598bcfee6d03c55d9018ec",
      "tree": "3e892b24fc3545c9323ec419f0cc0c13da0b2933",
      "parents": [
        "e29ab4d3b2d4167b9bc86c5473554f2d0639014a"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jun 29 14:27:07 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:55 2026 -0600"
      },
      "message": "slurmrestd - Load http_auth plugins\n\nInitialize the http_auth interface from SlurmrestdHttpAuthParameters in\nhttp_init() and tear it down in http_fini(), matching slurmctld and\nslurmd. This makes http_auth_g_authenticate() available so endpoints can\nauthenticate and obtain the caller\u0027s uid.\n\nTicket: 24549\n"
    },
    {
      "commit": "e29ab4d3b2d4167b9bc86c5473554f2d0639014a",
      "tree": "d62c9498e475b35f675d7c84ca346922f81123e0",
      "parents": [
        "3bc0a16e96e9a3144a6e6ab062e673c19c6e2909"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jul 10 10:43:19 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:38 2026 -0600"
      },
      "message": "Add SlurmrestdHttpAuthParameters to slurm.conf\n\nChangelog: slurm.conf - Add SlurmrestdHttpAuthParameters configuration\n parameter.\nTicket: 24549\n"
    },
    {
      "commit": "3bc0a16e96e9a3144a6e6ab062e673c19c6e2909",
      "tree": "275fef666c19a22e082745e9d5d32d2888571262",
      "parents": [
        "a02104903031b9c26d016cd8835253bbcc8255b8"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jun 30 11:43:19 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:38 2026 -0600"
      },
      "message": "slurmrestd - Remove ESLURM_REST_UNKNOWN_URL\n\nNothing returns ESLURM_REST_UNKNOWN_URL anymore: _req_root() serves the\ndiscovery guidance from a static string, and operations_router() reports\nunknown URLs with ESLURM_URL_INVALID_PATH. Drop the error code, its\nerrtab message and its HTTP status mapping.\n\nPin ESLURM_REST_UNKNOWN_URL_METHOD to 9007 so the remaining REST error\ncodes keep the numeric values they shipped with in 25.11 and 26.05;\n9006 is retired.\n\nTicket: 24549\n"
    },
    {
      "commit": "a02104903031b9c26d016cd8835253bbcc8255b8",
      "tree": "60793614b537049617bdd27a5393e8942b4af408",
      "parents": [
        "05fa3545089d282a679a945dc56454a3e52d4fde"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jun 29 13:40:55 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:38 2026 -0600"
      },
      "message": "slurmrestd - Serve root endpoint via http_router\n\nChangelog: slurmrestd - Avoid treating \u0027GET /\u0027 as an error path but only\n return suggestion on how to use slurmrestd.\nTicket: 24549\n"
    },
    {
      "commit": "05fa3545089d282a679a945dc56454a3e52d4fde",
      "tree": "c37f47a1cc9a2c1a7cf62933fe12b053532a4921",
      "parents": [
        "a1eb6143f4bb16d18ecd496bc4c56c8a10ebd2e9"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 14:36:40 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:38 2026 -0600"
      },
      "message": "slurmrestd - Remove OpenAPI health endpoint bindings\n\nTicket: 24549\n"
    },
    {
      "commit": "a1eb6143f4bb16d18ecd496bc4c56c8a10ebd2e9",
      "tree": "904a213303c3f0dfba0d18d8378c798d42c65044",
      "parents": [
        "f0e7f6cd1003daa0c73328ee2a59d1168644453b"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 14:35:09 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:38 2026 -0600"
      },
      "message": "slurmrestd - Serve health endpoints via http_router\n\nBind /healthz, /readyz and /livez directly on the shared http_router\ninstead of routing them through the OpenAPI dispatch in\noperations_router(). Each returns 204 No Content while the daemon is\nrunning. Because the router runs before authentication, these probes\nare now answered without credentials, matching slurmctld\u0027s health\nendpoints and standard liveness/readiness probe expectations.\n\nChangelog: slurmrestd - Serve the \u0027GET /healthz\u0027, \u0027GET /readyz\u0027, and\n \u0027GET /livez\u0027 endpoints without authentication.\nTicket: 24549\n"
    },
    {
      "commit": "f0e7f6cd1003daa0c73328ee2a59d1168644453b",
      "tree": "1b60b973609558f2e64dc772d51d987b49c6b61f",
      "parents": [
        "0362ecdec3ac0cdfa68ff68e7839de0b6fe3a122"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 14:29:14 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:37 2026 -0600"
      },
      "message": "slurmrestd - Dispatch HTTP requests via common http_router\n\nRoute incoming HTTP requests through the shared http_router rather than\ncalling operations_router() directly from the http_con on_request\ncallback. The global router is initialized with a not-found callback\nthat retains the existing OpenAPI dispatch, so any request that does not\nmatch a directly-bound path still reaches operations_router() unchanged.\n\nTicket: 24549\n"
    },
    {
      "commit": "0362ecdec3ac0cdfa68ff68e7839de0b6fe3a122",
      "tree": "5a28c71428a9c4e41bef4d78feb074b15da80f4e",
      "parents": [
        "a9b2d30ac69ab0fd5936aba42a873773d5797b8f"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 15:09:03 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:16 2026 -0600"
      },
      "message": "slurmrestd - Verify conmgr connection arg with magic value\n\nTicket: 24549\n"
    },
    {
      "commit": "a9b2d30ac69ab0fd5936aba42a873773d5797b8f",
      "tree": "3fdf3c344844d5da73dfd7f5f4ce03fe30c54541",
      "parents": [
        "8afe3b80f8f000a482a56a08844f3c9fdbc52cf0"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jun 30 10:54:38 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jul 27 10:53:16 2026 -0600"
      },
      "message": "Free missing fields in free_slurm_conf()\n\nFree slurmctld_http_auth_params and slurmd_http_auth_params in\nfree_slurm_conf().\n\nTicket: 24549\n"
    },
    {
      "commit": "8afe3b80f8f000a482a56a08844f3c9fdbc52cf0",
      "tree": "59d85c2fc0f2478a9d0364f9075c264215751610",
      "parents": [
        "40c22c262cf1e50c1126e1266d43df5c028ea908",
        "5df2886f02397f1aefdc605b70907b0dd813fbdb"
      ],
      "author": {
        "name": "Nathan Nash",
        "email": "nnash@nvidia.com",
        "time": "Mon Jul 27 16:19:35 2026 +0000"
      },
      "committer": {
        "name": "Nathan Nash",
        "email": "nnash@nvidia.com",
        "time": "Mon Jul 27 16:19:35 2026 +0000"
      },
      "message": "Merge branch \u0027nate-i51024\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3936"
    },
    {
      "commit": "40c22c262cf1e50c1126e1266d43df5c028ea908",
      "tree": "18314249b02951a244e6d6630d0ae9b81098edbe",
      "parents": [
        "5dcaaa2790fe19921b07c763edd71f0248601926",
        "7c989f4e328c0d04d4e730715f340dc002770a55"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Thu Jul 23 22:15:11 2026 +0000"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Thu Jul 23 22:15:11 2026 +0000"
      },
      "message": "Merge branch \u0027mcmullan-rollup-correctness\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4074"
    },
    {
      "commit": "5dcaaa2790fe19921b07c763edd71f0248601926",
      "tree": "3bbfca068fd2b13cda69cdfe29026cc0c968de3f",
      "parents": [
        "624c448cae3c77653aba9162414fef415b1438f2",
        "07732d37e5b03446f6f09fc079711553f8e4fcd1"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 15:13:50 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 15:13:50 2026 -0600"
      },
      "message": "Merge branch \u0027github-pr-213\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4079"
    },
    {
      "commit": "624c448cae3c77653aba9162414fef415b1438f2",
      "tree": "2db93d2f79bf02a26e3f248a79968d833ade6ff6",
      "parents": [
        "a9be4b91e73767defa67c84660c2a002d88dfa7c",
        "a50d7ebd14e853e2027e5d03d5fceed9a91d9ece"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Thu Jul 23 15:04:53 2026 -0600"
      },
      "committer": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Thu Jul 23 15:04:53 2026 -0600"
      },
      "message": "Merge branch \u0027more-missing-README\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4084"
    },
    {
      "commit": "a50d7ebd14e853e2027e5d03d5fceed9a91d9ece",
      "tree": "2db93d2f79bf02a26e3f248a79968d833ade6ff6",
      "parents": [
        "a9be4b91e73767defa67c84660c2a002d88dfa7c"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Thu Jul 23 14:55:33 2026 -0600"
      },
      "committer": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Thu Jul 23 14:55:33 2026 -0600"
      },
      "message": "Testsuite - Add test_116_59 and test_116_60 to README\n"
    },
    {
      "commit": "07732d37e5b03446f6f09fc079711553f8e4fcd1",
      "tree": "1cfdfdcd8683108efe7bc8b852cd1b2d2d6288e6",
      "parents": [
        "404e9f83b5e6c1deda2d8b5b5752531ebfa1db92"
      ],
      "author": {
        "name": "Tim McMullan",
        "email": "tmcmullan@nvidia.com",
        "time": "Thu Jul 23 07:52:16 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:06:29 2026 -0600"
      },
      "message": "auth/jwt - Skip non-RSA keys in _build_jwks_keys()\n\nA JWKS file containing keys without an \u0027alg\u0027 field (e.g. EC keys from a\nmixed IdP JWKS) would fatal().\n\nFixes regression from commit 19f4237674.\n\nChangelog: auth/jwt - Prevent fatal() on non-RSA keys in mixed JWKS files.\nTicket: 16168\n"
    },
    {
      "commit": "404e9f83b5e6c1deda2d8b5b5752531ebfa1db92",
      "tree": "9bf92d2290a992bc725e6ef819513857569bb22d",
      "parents": [
        "32c5a4dfa74cc3206e9d61d019a63778708b7488"
      ],
      "author": {
        "name": "Uemit Seren",
        "email": "uemit.seren@gmi.oeaw.ac.at",
        "time": "Thu Jul 16 20:29:12 2026 +0300"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:06:29 2026 -0600"
      },
      "message": "auth/jwt - Fix missing \u0027alg\u0027 check in _verify_rs256_jwt()\n\nThe previous fix (commit 19f4237674) correctly handled the optional \u0027alg\u0027\nfield in _build_jwks_keys(), but missed the same issue in\n_verify_rs256_jwt(). When a JWKS key has no \u0027alg\u0027 field,\ndata_get_string() returns NULL and xstrcasecmp(NULL, \"RS256\") is\nnon-zero, causing every key to be skipped at verification time with\n\"could not find matching kid or decode failed\".\n\nApply the same fix pattern to _verify_rs256_jwt() so keys without an\n\u0027alg\u0027 field are not incorrectly skipped during token verification.\n\nLink: https://github.com/SchedMD/slurm/pull/213\nSigned-off-by: Uemit Seren \u003cuemit.seren@gmi.oeaw.ac.at\u003e\nTicket: 16168\n"
    },
    {
      "commit": "32c5a4dfa74cc3206e9d61d019a63778708b7488",
      "tree": "ca14b35a167105aca2854e8a74d1f7dcf5d8e5d5",
      "parents": [
        "71c7b64941bf7eaeeb75d5e8f23358fabb03c6f5"
      ],
      "author": {
        "name": "McKay Marston",
        "email": "mmarston@nvidia.com",
        "time": "Fri Jul 17 10:13:29 2026 -0700"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:06:29 2026 -0600"
      },
      "message": "data_parser/v0.0.46 - Add DebugFlags to slurmdb.conf\n\nAdd DebugFlags to the SLURMDBD_CONF parser.\n\nChangelog: Add dumping of debugflags to following CLI calls:\n    sacctmgr show config --json\n    sacctmgr show config --yaml\nChangelog: Add dumping of debugflags to slurmrestd endpoint:\n    GET /slurmdb/v0.0.46/conf\nTicket: 25357\n"
    },
    {
      "commit": "71c7b64941bf7eaeeb75d5e8f23358fabb03c6f5",
      "tree": "b93037be40faa576b0d718cf9f7efaed3292def4",
      "parents": [
        "d49233523505cdddbe1dfe0fb492853e59df371e"
      ],
      "author": {
        "name": "McKay Marston",
        "email": "mmarston@nvidia.com",
        "time": "Fri Jul 17 10:13:29 2026 -0700"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:06:29 2026 -0600"
      },
      "message": "sacctmgr - Add debug_flags to slurmdbd_conf_t\n\nTicket: 25357\n"
    },
    {
      "commit": "d49233523505cdddbe1dfe0fb492853e59df371e",
      "tree": "b08a5a7fa59560031cc66cd20221c571616a7f60",
      "parents": [
        "81bcae5397b30dd8d2cbd940eab5c97471b3c295"
      ],
      "author": {
        "name": "McKay Marston",
        "email": "mmarston@nvidia.com",
        "time": "Fri Jul 17 10:13:29 2026 -0700"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:06:29 2026 -0600"
      },
      "message": "Add 26.11 protocol block for slurmdbd_conf\n\nTicket: 25357\n"
    },
    {
      "commit": "a9be4b91e73767defa67c84660c2a002d88dfa7c",
      "tree": "ca14b35a167105aca2854e8a74d1f7dcf5d8e5d5",
      "parents": [
        "81bcae5397b30dd8d2cbd940eab5c97471b3c295",
        "9dc7636c11e820947895307b817da02ca0349e13"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:01:12 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:01:12 2026 -0600"
      },
      "message": "Merge branch \u0027mckay-t25357-broken-debugflags\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4009"
    },
    {
      "commit": "5df2886f02397f1aefdc605b70907b0dd813fbdb",
      "tree": "f0f3d412e08cde461bdccead46b2848c5a6bb0e2",
      "parents": [
        "81bcae5397b30dd8d2cbd940eab5c97471b3c295"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 24 10:50:14 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 14:00:21 2026 -0600"
      },
      "message": "slurmrestd - Deprecate become_user mode\n\nChangelog: slurmrestd - SLURMRESTD_SECURITY\u003dbecome_user has been\n deprecated and will be removed in a future release.\nIssue: 51024\n"
    },
    {
      "commit": "9dc7636c11e820947895307b817da02ca0349e13",
      "tree": "ca14b35a167105aca2854e8a74d1f7dcf5d8e5d5",
      "parents": [
        "ec40260059389696af2121f58e9cd7f47010744c"
      ],
      "author": {
        "name": "McKay Marston",
        "email": "mmarston@nvidia.com",
        "time": "Fri Jul 17 10:13:29 2026 -0700"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 13:22:51 2026 -0600"
      },
      "message": "data_parser/v0.0.46 - Add DebugFlags to slurmdb.conf\n\nAdd DebugFlags to the SLURMDBD_CONF parser.\n\nChangelog: Add dumping of debugflags to following CLI calls:\n    sacctmgr show config --json\n    sacctmgr show config --yaml\nChangelog: Add dumping of debugflags to slurmrestd endpoint:\n    GET /slurmdb/v0.0.46/conf\nTicket: 25357\n"
    },
    {
      "commit": "ec40260059389696af2121f58e9cd7f47010744c",
      "tree": "b93037be40faa576b0d718cf9f7efaed3292def4",
      "parents": [
        "805abce2f1ea1b52a510cc68080533fa5977ee57"
      ],
      "author": {
        "name": "McKay Marston",
        "email": "mmarston@nvidia.com",
        "time": "Fri Jul 17 10:13:29 2026 -0700"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 13:22:51 2026 -0600"
      },
      "message": "sacctmgr - Add debug_flags to slurmdbd_conf_t\n\nTicket: 25357\n"
    },
    {
      "commit": "805abce2f1ea1b52a510cc68080533fa5977ee57",
      "tree": "b08a5a7fa59560031cc66cd20221c571616a7f60",
      "parents": [
        "81bcae5397b30dd8d2cbd940eab5c97471b3c295"
      ],
      "author": {
        "name": "McKay Marston",
        "email": "mmarston@nvidia.com",
        "time": "Fri Jul 17 10:13:29 2026 -0700"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 13:22:51 2026 -0600"
      },
      "message": "Add 26.11 protocol block for slurmdbd_conf\n\nTicket: 25357\n"
    },
    {
      "commit": "81bcae5397b30dd8d2cbd940eab5c97471b3c295",
      "tree": "1add763633f2a68c44f2c60924a9ad3f51173521",
      "parents": [
        "1446b8ea1de41ec30eee728636fb69eb63e279bf",
        "f1dd316facd136fcfd6f8eba1a5044d266b989ab"
      ],
      "author": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Thu Jul 23 18:47:39 2026 +0000"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Thu Jul 23 18:47:39 2026 +0000"
      },
      "message": "Merge branch \u0027dmj/correct-fuzzy-match-license-display\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3885"
    },
    {
      "commit": "e06f32e2e9657616046a381f7c619b71aa10412f",
      "tree": "74c88edd7af297c8023405ca290f0cd297ad7f74",
      "parents": [
        "e6a612478288989b41d3377808b4ab041e4ffe18"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 24 14:59:16 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 10:45:47 2026 -0600"
      },
      "message": "slurmrestd - Deprecate SLURMRESTD_YAML for SLURM_YAML\n\nDocument SLURM_YAML as the canonical environment variable for controlling\nYAML serialization and mark SLURMRESTD_YAML as a deprecated alias in the\nslurmrestd man page.\n\nChangelog: slurmrestd - Deprecate the SLURMRESTD_YAML environment variable\n in favor of SLURM_YAML.\nIssue: 50477\n"
    },
    {
      "commit": "e6a612478288989b41d3377808b4ab041e4ffe18",
      "tree": "60768fbb9a12ff4f35ab04f815cd29bf762e44d9",
      "parents": [
        "1446b8ea1de41ec30eee728636fb69eb63e279bf"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 24 14:59:15 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jul 23 10:45:33 2026 -0600"
      },
      "message": "slurmrestd - Deprecate SLURMRESTD_JSON for SLURM_JSON\n\nDocument SLURM_JSON as the canonical environment variable for controlling\nJSON serialization and mark SLURMRESTD_JSON as a deprecated alias in the\nslurmrestd man page.\n\nChangelog: slurmrestd - Deprecate the SLURMRESTD_JSON environment variable\n in favor of SLURM_JSON.\nIssue: 50477\n"
    },
    {
      "commit": "1446b8ea1de41ec30eee728636fb69eb63e279bf",
      "tree": "7dd2c758a0e032e4fd0e251bded4d8b1d195e84e",
      "parents": [
        "0e97a0f01cd6f4f9274dca41aa9976a3a92b0b3f",
        "532448ce8fd92a75127af88f152e60a19a62cebc"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Thu Jul 23 15:50:19 2026 +0000"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Thu Jul 23 15:50:19 2026 +0000"
      },
      "message": "Merge branch \u0027nate-i51076\u0027 into \u0027master\u0027\n\nCloses #51076\n\nSee merge request SchedMD/dev/slurm!4068"
    },
    {
      "commit": "f1dd316facd136fcfd6f8eba1a5044d266b989ab",
      "tree": "afca10d43ca6b34404ba0d1bb77b63ee85939b7d",
      "parents": [
        "07d45308478e8f0de5506c4ad4e16eab89f04393"
      ],
      "author": {
        "name": "Doug Jacobsen",
        "email": "djacobsen@nvidia.com",
        "time": "Mon Jun 15 20:05:49 2026 -0700"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 16:41:22 2026 -0600"
      },
      "message": "Testsuite - Validate scontrol show license\u003d\u003clocal\u003e works\n"
    },
    {
      "commit": "07d45308478e8f0de5506c4ad4e16eab89f04393",
      "tree": "a71514743decb930a2d9298eb9c4f8051f6a4beb",
      "parents": [
        "7b2c48f9f6966e366a2b97508fc9560133f3dfca"
      ],
      "author": {
        "name": "Doug Jacobsen",
        "email": "djacobsen@nvidia.com",
        "time": "Wed Jul 15 14:32:24 2026 -0600"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 16:41:22 2026 -0600"
      },
      "message": "Only use fuzzy match code path for remote licenses\n\nChangelog: scontrol - Fix local licenses not appearing for `scontrol show\n licenses\u003d\u003clicense_name\u003e` when LicenseParameters\u003dRemoteFuzzyMatch is set.\n"
    },
    {
      "commit": "7b2c48f9f6966e366a2b97508fc9560133f3dfca",
      "tree": "548dc4f68ab42ffde8b66e8664432aea7c635ff1",
      "parents": [
        "46d2b1557b644bb4cc30372a9ad30b46fabe6d5f"
      ],
      "author": {
        "name": "Doug Jacobsen",
        "email": "djacobsen@nvidia.com",
        "time": "Mon Jun 15 15:48:42 2026 -0700"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 16:41:22 2026 -0600"
      },
      "message": "Fix server name split for RemoteFuzzyMatch by parsing last \u0027@\u0027\n\nSwitch from xstrchr() to xstrrchr() so the license name and server name\nare split on the last \u0027@\u0027 rather than the first, for the case that the\nlicense name has an \u0027@\u0027 in its name.\n\nChangelog: Harden LicenseParameters\u003dRemoteFuzzyMatch matching for\n license names that unexpectedly contain an \u0027@\u0027 character.\n"
    },
    {
      "commit": "46d2b1557b644bb4cc30372a9ad30b46fabe6d5f",
      "tree": "6ac6be519749c68baff6eb51447efe1189fd404d",
      "parents": [
        "0e97a0f01cd6f4f9274dca41aa9976a3a92b0b3f"
      ],
      "author": {
        "name": "Doug Jacobsen",
        "email": "djacobsen@nvidia.com",
        "time": "Wed Jul 15 14:34:38 2026 -0600"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 16:41:22 2026 -0600"
      },
      "message": "Fix whitespace\n"
    },
    {
      "commit": "0e97a0f01cd6f4f9274dca41aa9976a3a92b0b3f",
      "tree": "f7e965e6a2df69053b105d5360d52d64c8745860",
      "parents": [
        "50ec27e9971c6193347b3f08f8fbfae1d3d1dabe",
        "fe01706cd99c03a12e1ce5d227b35add6f12f157"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 20:33:53 2026 +0000"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 20:33:53 2026 +0000"
      },
      "message": "Merge branch \u002725499-reboot-states-not-parsed-correctly\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3978"
    },
    {
      "commit": "fe01706cd99c03a12e1ce5d227b35add6f12f157",
      "tree": "f7e965e6a2df69053b105d5360d52d64c8745860",
      "parents": [
        "aeb18b5d7e4fcc36225d43c3385a52cd5b6ad3cd"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 15 09:47:34 2026 -0600"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 13:22:43 2026 -0600"
      },
      "message": "Testsuite - Add test_111_6 about sinfo --states name parsing\n\ntest_111_4/test_111_5 cover sinfo -t functional filtering; add coverage\nfor the parsing/discoverability side that was previously untested:\n- REBOOT_REQUESTED / REBOOT_ISSUED --states names parse (26.05+).\n- every state sinfo --helpstate advertises round-trips through --states,\n  guarding against the advertised list and the parser drifting apart\n  (--helpstate and --states are table-driven as of 26.11).\n- an unknown --states value is rejected with \"Bad state string\".\n- --states\u003dall is accepted.\n\nTicket: 25499\n"
    },
    {
      "commit": "aeb18b5d7e4fcc36225d43c3385a52cd5b6ad3cd",
      "tree": "561fa614644d37bd875ed2c5cf0bbe7b6c93a0b3",
      "parents": [
        "0c7fc4fc3391870f0d35df17353cf034faa9ba68"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Tue Jul 14 13:30:34 2026 -0600"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 13:22:43 2026 -0600"
      },
      "message": "Simplify sinfo --states\u003dall and fix a memory error\n\n_build_all_states_list() (used for --states\u003dall) built the state filter\nlist out of bare uint16_t elements, but the rest of sinfo treats each\nelement as a sinfo_state_t (uint32_t state plus an op field). For\n--states\u003dall each state was then read as a uint32_t from a two-byte\nallocation and the op field was read out of bounds, so filtering used an\nuninitialized op that could invert matches; the list was also created\nwithout a destructor. Because every node has a base state, the\nenumerated list matched every node anyway, i.e. a single match-any\nentry.\n\nThe \"all\" keyword and _build_all_states_list() date back to the 2003\nsinfo rewrite (commit 56bbdcdddc) and were copied from squeue\u0027s\nidentical\n--states handling -- the stale \"List of enum job_states values\" comment\ngives the origin away. For squeue \"all\" is useful because its default\nhides terminal job states, but sinfo always reports every node\nregardless of state, so it has only ever matched everything.\n\nRepresent \"all\" as one sinfo_state_t carrying a SINFO_STATE_ALL sentinel\nthat _filter_node_state() treats as an unconditional match, and remove\n_build_all_states_list(). Behavior is unchanged: --states\u003dall matches\nevery node.\n\nTicket: 25499\n"
    },
    {
      "commit": "0c7fc4fc3391870f0d35df17353cf034faa9ba68",
      "tree": "7c114571a39825f7a44873bd21ce064d249819f4",
      "parents": [
        "e21b768d0add2c38e8939ff36bbed013c5004667"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Tue Jul 14 13:30:34 2026 -0600"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 13:16:17 2026 -0600"
      },
      "message": "Make sinfo --states parsing and listing table-driven\n\n_node_state_id() hand-coded a check for every node state flag, and the\nlist of valid states reported on error kept a second hand-maintained\ncopy, so both had to be touched whenever a node state flag was added --\nand they had drifted from each other and from the man page.\n\nDrive both from the shared node_state_flags[] table: _node_state_id()\nmatches flags with parse_node_state_flag(), and _node_state_list()\nenumerates the same table via node_state_flag_index(). A newly\nadded flag then works with --states and is reported automatically.\nNODE_RESUME is excluded from both -- it is a transient action flag, not\na state a node is reported in.\n\nThe base-state loop, the combined DRAIN/DRAINED/DRAINING states, and a\nsmall set of legacy compact aliases (RESV, PLND, NO_RESPOND, BOOT,\nBOOT^, REBOOT^) not present in node_state_flags[] are kept explicitly.\nEvery full state name and documented alias still parses; only a few\nambiguous partial prefixes (e.g. \"power\", \"c\") now resolve in the\ncanonical table order. The reported state list now uses the canonical\nname of each state; compact aliases still parse but are no longer\nlisted. The drifted enumeration in the sinfo.1 man page is replaced with\na reference to the NODE STATE CODES section.\n\nTicket: 25499\n"
    },
    {
      "commit": "e21b768d0add2c38e8939ff36bbed013c5004667",
      "tree": "4a44df1a2da2bdfeea00139a669a7790e76cd371",
      "parents": [
        "a7c5e35161f6b7a9b3fca766a4614aacc80b14bf"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Tue Jul 14 16:14:11 2026 -0600"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 13:15:27 2026 -0600"
      },
      "message": "Show the compact form of a bare PLANNED or RES node state\n\nnode_state_string_compact() renders the compact name of most node state\nflags on their own (e.g. INVAL, BOOT, BOOT^), but a bare PLANNED or RES\nflag fell through to the base-state handling because the PLND and RESV\ncompact names were only produced together with an IDLE base. Return them\nfor the bare flag as well, before the base-state mask, so a lone flag\nrenders consistently with the others.\n\nTicket: 25499\n"
    },
    {
      "commit": "a7c5e35161f6b7a9b3fca766a4614aacc80b14bf",
      "tree": "3550d355faac7321742ff53507bca805c87999ed",
      "parents": [
        "50ec27e9971c6193347b3f08f8fbfae1d3d1dabe"
      ],
      "author": {
        "name": "Brian Gregory",
        "email": "bgregory@nvidia.com",
        "time": "Thu Jul 02 11:06:34 2026 -0400"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Wed Jul 22 13:15:27 2026 -0600"
      },
      "message": "Fix sinfo --states parsing for reboot flag names\n\nMatch node state filter names against the canonical flag names produced\nby node_state_flag_string() -- the same strings sinfo prints for the\nStateComplete format -- in _node_state_equal(), in addition to the\ncompact and long display strings it already checked. This lets the\ndocumented filter names REBOOT_REQUESTED and REBOOT_ISSUED parse without\nsinfo keeping its own private copies of the state strings.\n\nChangelog: Fix sinfo --states to accept REBOOT_REQUESTED and\n REBOOT_ISSUED filter names documented in the man page.\nTicket: 25499\n"
    },
    {
      "commit": "50ec27e9971c6193347b3f08f8fbfae1d3d1dabe",
      "tree": "016631cc2e83c5c397b33b0597b4a29f0990556b",
      "parents": [
        "f35a8385fc3885c0598cca6dd297b3698dadc9d5",
        "a6dec8e54fb2e12e060a92921f3744cefb603e1b"
      ],
      "author": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 17:00:56 2026 +0000"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 17:00:56 2026 +0000"
      },
      "message": "Merge branch \u0027docs-remove-perfctrs\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4075"
    },
    {
      "commit": "f35a8385fc3885c0598cca6dd297b3698dadc9d5",
      "tree": "fd194ed0b836b250db9db46b2bc94d9107405dec",
      "parents": [
        "a9f6ab7e300db5164a01c6b456d37c1bab866ad7",
        "257185b0763999561671968c27891981a1b29bb2"
      ],
      "author": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 15:21:53 2026 +0000"
      },
      "committer": {
        "name": "Ben Glines",
        "email": "bglines@nvidia.com",
        "time": "Wed Jul 22 15:21:53 2026 +0000"
      },
      "message": "Merge branch \u0027nate-i50190-runtime\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!3917"
    },
    {
      "commit": "a9f6ab7e300db5164a01c6b456d37c1bab866ad7",
      "tree": "dfdb345f25b36f5cd772332910be3e72d66b2c3c",
      "parents": [
        "d3ec77be78a7d7cd0d5e1a36555936e31ac8471c",
        "b8104e3dbda5c325361a69f47fe5fa37dbfc9685"
      ],
      "author": {
        "name": "Albert Gil",
        "email": "agilmoreno@nvidia.com",
        "time": "Wed Jul 22 10:47:40 2026 +0000"
      },
      "committer": {
        "name": "Albert Gil",
        "email": "agilmoreno@nvidia.com",
        "time": "Wed Jul 22 10:47:40 2026 +0000"
      },
      "message": "Merge branch \u0027update-test-suite-README\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4069"
    },
    {
      "commit": "a6dec8e54fb2e12e060a92921f3744cefb603e1b",
      "tree": "f175b6cfeb664762d1f4cb88b58834db19713ffd",
      "parents": [
        "b1c69197d0a40aa8e40dd69774d9f66c79825121"
      ],
      "author": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Tue Jul 21 14:51:08 2026 -0600"
      },
      "committer": {
        "name": "Brian Christiansen",
        "email": "bchristianse@nvidia.com",
        "time": "Tue Jul 21 16:11:34 2026 -0600"
      },
      "message": "Docs - remove obsolete PERFCTRS (NPC) references from documentation\n\nThe Cray Network Performance Counters (NPC) feature no longer exists. Its\nnode state flag was removed by commit 234e89e95b (\"Remove NODE_STATE_NET.\")\nand the select/cray_aries plugin by commit e6823441e7, so no node is ever\nreported in the PERFCTRS/PerfCnts state and nothing parses --network\u003dsystem\nor --network\u003dblade. The documentation still described it.\n\nRemove the stale references:\n - the PERFCTRS/NPC node state from the sinfo, scontrol, and slurm.conf man\n   pages, the sinfo --states value list, and the power_save guide;\n - the NPC network performance counter values (system/blade) from the\n   salloc/sbatch/srun --network option, keeping the still-supported HPE\n   Slingshot usage.\n"
    },
    {
      "commit": "7c989f4e328c0d04d4e730715f340dc002770a55",
      "tree": "08fee7337726a5be62b67a1a0e70ee9556db21b9",
      "parents": [
        "49f94278bf4ad2a23493f99e246d7b62bc78f1f8"
      ],
      "author": {
        "name": "Tim McMullan",
        "email": "tmcmullan@nvidia.com",
        "time": "Tue Jul 21 14:27:02 2026 -0600"
      },
      "committer": {
        "name": "Tim McMullan",
        "email": "tmcmullan@nvidia.com",
        "time": "Tue Jul 21 15:34:17 2026 -0600"
      },
      "message": "accounting_storage/mysql - Fix cluster nonhour rollup GROUP BY collision\n\nGROUP BY (deleted, id_tres) produces two rows per TRES when both\nstates appear, causing ON DUPLICATE KEY UPDATE to overwrite rather\nthan sum.\n\nThe usage_rollup_lock prevents this from happening in practice, but it\nis a latent possible issue.\n\nFixes regression from commit 3d61b6aa6c.\n"
    },
    {
      "commit": "49f94278bf4ad2a23493f99e246d7b62bc78f1f8",
      "tree": "83d3fccb25c70572bdbeb3fcf9d0bea708950840",
      "parents": [
        "d3ec77be78a7d7cd0d5e1a36555936e31ac8471c"
      ],
      "author": {
        "name": "Tim McMullan",
        "email": "tmcmullan@nvidia.com",
        "time": "Tue Jul 21 14:05:19 2026 -0600"
      },
      "committer": {
        "name": "Tim McMullan",
        "email": "tmcmullan@nvidia.com",
        "time": "Tue Jul 21 15:33:55 2026 -0600"
      },
      "message": "accounting_storage/mysql - Fix uint16_t truncation of node event state\n\nNode event state is written to the DB as a uint32_t but read back into a\nuint16_t, silently dropping all flag bits at position 16 and above.\n\nThis isn\u0027t actually reachable from current code.\n\nFixes regression from commit 845ff7d46a.\n"
    },
    {
      "commit": "257185b0763999561671968c27891981a1b29bb2",
      "tree": "cc6be6c6d0c6bbf9fb346361c453373bbe715c60",
      "parents": [
        "cad188e2f5965b5c154233bdb1bb62f1fd1679ec"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jun 25 14:55:39 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "Testsuite - Add test_116_60 about the --runtime\u003dlist option\n\nAdd test_116_60 covering --runtime\u003dlist across srun, salloc and sbatch.\nLives in the srun group with the other --runtime tests. Gates on the\n26.11 version.\n\nRenumbered to test_116_60 after master claimed test_116_58.\n\nIssue: 50190\n"
    },
    {
      "commit": "cad188e2f5965b5c154233bdb1bb62f1fd1679ec",
      "tree": "068ca939bb27adc9be732497f264e958c7a398a8",
      "parents": [
        "ae8acd918646b3a93958a7c62f8652663dbc6a73"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jun 25 14:55:39 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "Testsuite - Add test_116_59 about the --runtime job submission option\n\nAdd test_116_59 covering that --runtime is recorded normalized to\nruntime/\u003cname\u003e, the v0.0.46 \u0027runtime\u0027 vs v0.0.45 \u0027container_type\u0027 JSON\nkey, that an unknown runtime fails when the step is launched, that\nruntime/none ignores --container, that SLURM_RUNTIME/SBATCH_RUNTIME are\nplumbed, and that DefRuntimePlugin defaults to runtime/oci. Gates on the\n26.11 version.\n\nIssue: 50190\n"
    },
    {
      "commit": "ae8acd918646b3a93958a7c62f8652663dbc6a73",
      "tree": "e273ffd533cee162a437a5731690b7651eee86f6",
      "parents": [
        "1dc1347ceef9682b6e4fc5faf1a1e85cc51b10b9"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jun 30 15:17:40 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "runtime - Have the plugin exec the task instead of slurmstepd\n\nruntime_g_run() now returns ESLURM_NOT_SUPPORTED when the plugin does\nnot exec the task, or the errno from a failed execve() when it does.\nruntime/none returns ESLURM_NOT_SUPPORTED; runtime/oci execs the task\nwhen no container replaces the process. slurmstepd\u0027s exec_task() execs\nthe task itself when runtime_g_run() returns ESLURM_NOT_SUPPORTED,\notherwise it reports the returned errno.\n\nIssue: 50190\n"
    },
    {
      "commit": "1dc1347ceef9682b6e4fc5faf1a1e85cc51b10b9",
      "tree": "a93d41ce894f9074c774dc01a7e5d0bd4476edf5",
      "parents": [
        "25933e7d0711b8680ae41f7addba004c1881dc48"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 14:39:26 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "slurmstepd - Load the runtime selected by --runtime\n\nPass the runtime carried in the launch tasks request and batch job launch\nmessages to runtime_g_init() so slurmstepd loads the plugin chosen by the\njob\u0027s --runtime option instead of the default DefRuntimePlugin.\n\nChangelog: slurmstepd - Load per job step --runtime plugin selection.\nIssue: 50190\n"
    },
    {
      "commit": "25933e7d0711b8680ae41f7addba004c1881dc48",
      "tree": "e60e21323d128cb9c3dbd643d72315aa1f8a4e3c",
      "parents": [
        "4049bc5afd8f5dbee8644753282b830eb0352112"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 14:39:26 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "srun - Pass the --runtime to job launch\n\nAdd a runtime field to the launch tasks request and batch job launch\nmessages. srun fills the launch parameters and the controller fills the\nbatch launch message from the job record.\n\nIssue: 50190\n"
    },
    {
      "commit": "4049bc5afd8f5dbee8644753282b830eb0352112",
      "tree": "daf3ff8de7d02628abb5a3c1f6f34885fbfc3ec1",
      "parents": [
        "53ef6fbaf5b83b8da16f4e2f74e01695d0e263f9"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 24 14:56:48 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "sbatch/srun/salloc - Rename --container-type option to --runtime\n\nThe per-job --container-type option selected the runtime to use, so\nrename it to --runtime to align with the new runtime plugin interface.\n\nThis renames the option and its SALLOC_/SBATCH_/SRUN_ environment\nvariables, the SLURM_RUNTIME environment variable set for the job, the\ncontainer_type field on the job and step records and their messages, the\nsqueue Runtime output format, the scontrol Runtime field, and the\ndata_parser v0.0.46 \"runtime\" field. The data_parser v0.0.45 keeps the\n\"container_type\" field name for backwards compatibility.\n\nChangelog: salloc/srun/sbatch - Renamed the unused --container-type job\n submission option to --runtime, including its SLURM_CONTAINER_TYPE\n environment variable (now SLURM_RUNTIME), the squeue/scontrol\n ContainerType field, and the burst_buffer/lua job_info.container_type\n field (now runtime).\nIssue: 50190\n"
    },
    {
      "commit": "53ef6fbaf5b83b8da16f4e2f74e01695d0e263f9",
      "tree": "fc52ac37b24ffe7daf11530695ad881b83018b4e",
      "parents": [
        "5d1dcd23fcad66c042cdf4afcee65ee65f15f85b"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jun 22 15:39:41 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "slurmstepd - Remove container handling\n\nReplaced by runtime hooks.\n\nIssue: 50190\n"
    },
    {
      "commit": "5d1dcd23fcad66c042cdf4afcee65ee65f15f85b",
      "tree": "dacc9b2c1dc2e7111201e227eddad2c1ba4ac1fe",
      "parents": [
        "dd8a096728b685b19cd62a3ef3031132e1ba4950"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 12:30:06 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:39 2026 -0600"
      },
      "message": "runtime/none - Add implementation\n\nChangelog: Add the runtime/none no-op job runtime plugin.\nIssue: 50190\n"
    },
    {
      "commit": "dd8a096728b685b19cd62a3ef3031132e1ba4950",
      "tree": "733f4359a96e32e60cfd378a8c7f903a660a9e8b",
      "parents": [
        "c916be887459c4d70cf52a8083cfd7888508fac9"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 26 12:30:05 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "runtime/none - Add stub files\n\nIssue: 50190\n"
    },
    {
      "commit": "c916be887459c4d70cf52a8083cfd7888508fac9",
      "tree": "2860cb0a4e0ec026dd3b9b72fe448654b16a0de5",
      "parents": [
        "1b674cf345c160adb5cf1347d4032ac7b2c30019"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jun 16 10:35:39 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "runtime/oci - Add implementation\n\nPort slurmstepd\u0027s container implementation to runtime/oci.\n\nChangelog: Move OCI container execution out of slurmstepd core into\n the new runtime/oci plugin.\nIssue: 50190\n"
    },
    {
      "commit": "1b674cf345c160adb5cf1347d4032ac7b2c30019",
      "tree": "8db7764482ffb60672cd04cb8efd0d94eefaa750",
      "parents": [
        "cba0bfb75bc023cfcacca2543581733e29c219d2"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jun 16 10:35:08 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "runtime/oci - Add stub files\n\nIssue: 50190\n"
    },
    {
      "commit": "cba0bfb75bc023cfcacca2543581733e29c219d2",
      "tree": "1fb188c01572123b057f819b615a685df9055eae",
      "parents": [
        "df8d1b6169c5644a13cbcea47ef36e47ea1531ea"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 17 12:46:45 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "slurmstepd - Add runtime hooks to step and task lifecycle\n\nIssue: 50190\n"
    },
    {
      "commit": "df8d1b6169c5644a13cbcea47ef36e47ea1531ea",
      "tree": "aacb1b05bc2545aa02fa6e3b48d8d0781f3e56e2",
      "parents": [
        "5d04c68d0d3c5a1bf74a6c3c7644c7244e59c7f1"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 17 12:44:57 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "slurmstepd - Load runtime plugin\n\nIssue: 50190\n"
    },
    {
      "commit": "5d04c68d0d3c5a1bf74a6c3c7644c7244e59c7f1",
      "tree": "03bbce04bda60b6f1dcca77c103a9d034b54f1b5",
      "parents": [
        "6dd2fc9c38d77f8a3271f24bee51e349a8f7644f"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jun 15 14:23:03 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "runtime - Add implementation\n\nIssue: 50190\n"
    },
    {
      "commit": "6dd2fc9c38d77f8a3271f24bee51e349a8f7644f",
      "tree": "718cfc575444c3cb78245ecb6f61707b77ba2340",
      "parents": [
        "6f8d89f872f42f66af03badae307a15157b5c017"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Mon Jun 15 14:23:02 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "runtime - Add stub files\n\nIssue: 50190\n"
    },
    {
      "commit": "6f8d89f872f42f66af03badae307a15157b5c017",
      "tree": "2ce6a987e71495e70e2a688d4fef9a5ef6de01d5",
      "parents": [
        "776a1709e43ab31494a848069dd9958373ac7e26"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Fri Jun 12 15:26:33 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "Add DefRuntimePlugin to slurm.conf\n\nAdd a new DefRuntimePlugin configuration option that selects the default\nruntime plugin, defaulting to runtime/oci. This is a new interface,\ndistinct from the namespace plugin.\n\nChangelog: Added DefRuntimePlugin configuration option to select the\n default runtime plugin.\nIssue: 50190\n"
    },
    {
      "commit": "776a1709e43ab31494a848069dd9958373ac7e26",
      "tree": "eaa1d9900b4acb52eced9af7e0a2f5d8cfda0c5e",
      "parents": [
        "fdbdcd72c8be315e944710c15dff912591682f91"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 07 14:55:46 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "Add 26.11 protocol blocks for slurm_step_launch_params_t\n\nIssue: 50190\n"
    },
    {
      "commit": "fdbdcd72c8be315e944710c15dff912591682f91",
      "tree": "870e205d1edcbbb763519703f04ec51983a4eec0",
      "parents": [
        "9f4f028b26c0f26097616615ed4704e28089dbd8"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Thu Jun 25 10:30:00 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "Add 26.11 protocol blocks for batch_job_launch_msg_t\n\nIssue: 50190\n"
    },
    {
      "commit": "9f4f028b26c0f26097616615ed4704e28089dbd8",
      "tree": "27c47c8840bc1a66929087cd634422d4bc943d78",
      "parents": [
        "96e369734f6cca5506aa361fbb013d41f2be553c"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jun 24 15:08:43 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "Add 26.11 protocol blocks for launch_tasks_request_msg_t\n\nIssue: 50190\n"
    },
    {
      "commit": "96e369734f6cca5506aa361fbb013d41f2be553c",
      "tree": "f2e46371f2e649db882e71bb75c9f4e0f8ff67a3",
      "parents": [
        "d3ec77be78a7d7cd0d5e1a36555936e31ac8471c"
      ],
      "author": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Wed Jul 01 11:18:31 2026 -0600"
      },
      "committer": {
        "name": "Nathan Rini",
        "email": "nrini@nvidia.com",
        "time": "Tue Jul 21 15:02:38 2026 -0600"
      },
      "message": "Fix include order in slurm_opt.c\n\nIssue: 50190\n"
    },
    {
      "commit": "d3ec77be78a7d7cd0d5e1a36555936e31ac8471c",
      "tree": "748e91bde9ea0fba10fc136f1bbf3c22c1ecb6b9",
      "parents": [
        "b1c69197d0a40aa8e40dd69774d9f66c79825121",
        "1ef93ba95eccdefa7b0a45a3f4ad5023769ddc3e"
      ],
      "author": {
        "name": "Megan Dahl",
        "email": "mdahl@nvidia.com",
        "time": "Tue Jul 21 19:47:18 2026 +0000"
      },
      "committer": {
        "name": "Megan Dahl",
        "email": "mdahl@nvidia.com",
        "time": "Tue Jul 21 19:47:18 2026 +0000"
      },
      "message": "Merge branch \u0027mcmullan-srun-fwd-signal\u0027 into \u0027master\u0027\n\nSee merge request SchedMD/dev/slurm!4004"
    },
    {
      "commit": "b8104e3dbda5c325361a69f47fe5fa37dbfc9685",
      "tree": "5e24fec8826e3fb8a8e6fd129f19530954ce1741",
      "parents": [
        "49cf6eb890e2fc6f20a67b9541217e9a28b979ed"
      ],
      "author": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Mon Jul 20 15:20:10 2026 -0600"
      },
      "committer": {
        "name": "Nathan Prisbrey",
        "email": "nprisbrey@nvidia.com",
        "time": "Tue Jul 21 13:47:15 2026 -0600"
      },
      "message": "Testsuite - Fix testsuite/README removing stale entries\n\nThe expect test7.8, test17.30, and test33.1 no longer exist.\n"
    }
  ],
  "next": "49cf6eb890e2fc6f20a67b9541217e9a28b979ed"
}
