)]}'
{
  "commit": "6e343540efde7d074932880a49b9c8a11ffe0e2d",
  "tree": "a0013c634122a1c552cf923610dcaa7f9c5ff60c",
  "parents": [
    "fdc82200dd97b05bc190e920466f77430ef7f468"
  ],
  "author": {
    "name": "Alexander Hansen",
    "email": "alexander.hansen@9elements.com",
    "time": "Wed Jul 15 15:37:58 2026 +0200"
  },
  "committer": {
    "name": "Alexander Hansen",
    "email": "alexander.hansen@9elements.com",
    "time": "Wed Jul 22 10:03:29 2026 +0200"
  },
  "message": "fw-update: simplify PackageParser class\n\nSince neither libpldm nor libpldm++ require separate codes for each\npackage format revision, only one implementation is required.\n\nlibpldm can parse any pldm fw update package where the pin passed to it\nis greater or equal to the revision of that package.\n\nSee [1] for an example of libpldm parsing a package of a lower revision\nthan the pin passed to it.\n\nAlso, due to the spec not having removed or significantly changed\nany of the old fields inside the package in newer revisions, it is\npossible to parse packages of different revision into the same struct,\nusing optional/vector/map/... types for newly added members which may\nnot be present in older package format versions. See for example [2].\n\nThis simplifies the class considerably.\n\nTested: covered by existing unit tests for PackageParser\n\nReferences:\n[1] https://github.com/openbmc/libpldm/blob/4aea3a69199cb780256f0f06b05c9e0db14f6044/tests/unit/dsp/firmware_update.cpp#L5641-L5681\n[2] https://github.com/openbmc/libpldm/blob/84ef0f40e8f5565785ef0b97cb0352ffdb33c2bc/include/libpldm%2B%2B/firmware_update.hpp#L225\n\nChange-Id: I6a0c0c4e78acbac60dd1e7bf9e616dc70050376e\nSigned-off-by: Alexander Hansen \u003calexander.hansen@9elements.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71bc71723f192194252a06996e4e0be576f09b2a",
      "old_mode": 33188,
      "old_path": "fw-update/package_parser.cpp",
      "new_id": "b8745f63b0c58ff6ae8b6b646fd67b347b5e67a6",
      "new_mode": 33188,
      "new_path": "fw-update/package_parser.cpp"
    },
    {
      "type": "modify",
      "old_id": "396a05fbd75a4841277352e6d5302553e4c3c129",
      "old_mode": 33188,
      "old_path": "fw-update/package_parser.hpp",
      "new_id": "ee3be560281d69d8908881b31c927e05712c2bc7",
      "new_mode": 33188,
      "new_path": "fw-update/package_parser.hpp"
    },
    {
      "type": "modify",
      "old_id": "6dba8be20c814b54f59e05545930137c9facf7c9",
      "old_mode": 33188,
      "old_path": "fw-update/test/package_parser_test.cpp",
      "new_id": "b53da29fe620a62ef9885af04976466d55b6bdbc",
      "new_mode": 33188,
      "new_path": "fw-update/test/package_parser_test.cpp"
    }
  ]
}
