)]}'
{
  "log": [
    {
      "commit": "86ade6e15371215ca1095541bd7e2215e8ba6a19",
      "tree": "e93ed889c3c40d5f2d0f7d44756c08206f067533",
      "parents": [
        "1526d376f7ef5c39253fa42bd289fe9601b045f0"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 16 05:23:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 16 05:25:17 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 982453394\nChange-Id: Ie55e972f34e848bc4dcdc0bac74ede304d055145\n"
    },
    {
      "commit": "1526d376f7ef5c39253fa42bd289fe9601b045f0",
      "tree": "67a749cdb8659f49d0adc5a2eeba0e1799262545",
      "parents": [
        "45513d651a12fae3331b5a1a25032be109b4e030"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 15 18:31:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 15 18:32:32 2026 -0700"
      },
      "message": "Expose Get/Set BootSourceOverrideTarget via SystemRegistry\n\nExpose BootSourceOverrideTarget getter and setter in tlbmc SystemRegistry HAL to support Redfish out-of-band boot configuration.\n\nSimilar to BootNext, BootSourceOverrideTarget maps to gbmc-settings backed storage for out-of-band boot configuration.\n\n- Add GetBootSourceOverrideTarget and SetBootSourceOverrideTarget to SystemRegistry interface.\n- Implement methods in SystemRegistryImpl delegating to SettingsManager.\n- Add mock methods in MockSystemRegistry.\n- Add unit tests in system_registry_impl_test covering default, update, and invalid ID handling.\n\nGoogle-Bug-Id:539553711\nPiperOrigin-RevId: 982171562\nChange-Id: I7eb62bdcd37c9aeae738636f0e35ba3fb88d5e6b\n"
    },
    {
      "commit": "45513d651a12fae3331b5a1a25032be109b4e030",
      "tree": "b3e4749438b32a2bcc982df10a7f331320fac25b",
      "parents": [
        "cbc02bdb15070657531188a4c98d11b74554944a"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 15 16:40:11 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 15 16:41:07 2026 -0700"
      },
      "message": "tlbmc: Use non-throwing filesystem APIs in entity_config_json_impl\n\nGoogle-Bug-Id:478925741\nPiperOrigin-RevId: 982116664\nChange-Id: I021e495fe4f2ce931bf9308e4caf9e39488f1950\n"
    },
    {
      "commit": "cbc02bdb15070657531188a4c98d11b74554944a",
      "tree": "41081d3bf725dea9d2dad20cd4ff73f5322d7a38",
      "parents": [
        "dd34f311bd78816c2fa816db26c7bfc4f30830dc"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Sep 14 18:56:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 18:57:16 2026 -0700"
      },
      "message": "tlbmc: Use non-throwing filesystem APIs in uhmm_i2c_walker\n\nGoogle-Bug-Id:478925741\nPiperOrigin-RevId: 981489408\nChange-Id: I3cab8b22fb746280a1a77f857dab92f19f867317\n"
    },
    {
      "commit": "dd34f311bd78816c2fa816db26c7bfc4f30830dc",
      "tree": "af58854a5580e1a2de7f216aa32608046fab7738",
      "parents": [
        "d664da8b34f3a5bdaa1bb3d8c3a2f4688a8a36a4"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Sep 14 17:03:52 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 17:06:47 2026 -0700"
      },
      "message": "Integrate FRE into tlBMC Thermal Control\n\nGoogle-Bug-Id:559754428\nPiperOrigin-RevId: 981443487\nChange-Id: Ibe6638451e39d830b31907006cd0ea094d6881f5\n"
    },
    {
      "commit": "d664da8b34f3a5bdaa1bb3d8c3a2f4688a8a36a4",
      "tree": "7dc6cb44539981483ca1d75b8b636ba784a9b18e",
      "parents": [
        "b4904413f1129f698f590a210743b1d8a68be93e"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Sep 14 16:29:16 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 16:30:39 2026 -0700"
      },
      "message": "Add FRE into copybara \u0026 meson.build\n\nGoogle-Bug-Id:559754428\nPiperOrigin-RevId: 981427428\nChange-Id: I080d721dd9b1e75d61e0eb4d09b0841895258eec\n"
    },
    {
      "commit": "b4904413f1129f698f590a210743b1d8a68be93e",
      "tree": "6910d2e1911f5b0dd4d41977d5b81b2a570a032c",
      "parents": [
        "1e3f0e342a4b17d8f548f4ec9ef5a632f59b3963"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Sep 14 15:06:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 15:07:51 2026 -0700"
      },
      "message": "Provide default values \u0026 comments for FRE config\n\nGoogle-Bug-Id:561657274\nPiperOrigin-RevId: 981384082\nChange-Id: I7bf214d320336ccdfa60b622c1000eb31729a7ef\n"
    },
    {
      "commit": "1e3f0e342a4b17d8f548f4ec9ef5a632f59b3963",
      "tree": "cc42ae79cd63a0a789301bfeeb01804b9aafd20f",
      "parents": [
        "e0b4fb29b64b70ac96f83fea30e0dd28504dc77e"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Sep 14 11:31:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Sep 14 11:33:07 2026 -0700"
      },
      "message": "tlbmc: Use non-throwing filesystem APIs in blocklist_parser\n\nGoogle-Bug-Id:478925741\nPiperOrigin-RevId: 981262027\nChange-Id: I214dc7b8733643a037f9e9c2d65b03824a4af74f\n"
    },
    {
      "commit": "e0b4fb29b64b70ac96f83fea30e0dd28504dc77e",
      "tree": "5f2b479426f2539f9d15ecb8da4885f5724b7782",
      "parents": [
        "d5527f9cf8007691c9451815be7c7cbf21eea7ae"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Sun Sep 13 20:32:40 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Sep 13 20:33:51 2026 -0700"
      },
      "message": "Improve error handling for Redfish Chassis Drive endpoints\n\nGoogle-Bug-Id:552840290\nPiperOrigin-RevId: 980889855\nChange-Id: Ie01fedebcf093881a859f6ed5723f0dbe911eeaa\n"
    },
    {
      "commit": "d5527f9cf8007691c9451815be7c7cbf21eea7ae",
      "tree": "056d880e7d7498e652d6582bf704120091926601",
      "parents": [
        "b05dfb51ffcdea260a8cff2013946082e626f201"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Sep 11 14:43:26 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 11 14:44:50 2026 -0700"
      },
      "message": "gbmcweb: Restore serverCertPath and serverPrivateKeyPath default flag values\n\nGoogle-Bug-Id:527528182,559849016\nPiperOrigin-RevId: 980029307\nChange-Id: Id2b084bbd1ba3bbf742dd4abe9d341947d026290\n"
    },
    {
      "commit": "b05dfb51ffcdea260a8cff2013946082e626f201",
      "tree": "7dd1e87dd4082737d302011af3d5ddefd64d964a",
      "parents": [
        "dbfd21c9ba95b4d457fece4da2cfafa67ad6e193"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Sep 11 13:59:00 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 11 14:00:26 2026 -0700"
      },
      "message": "Add build and runtime flags to enable memory capacity configuration.\n\nGoogle-Bug-Id:541287798\nPiperOrigin-RevId: 980005588\nChange-Id: Id1f3fdaf3865f51d93d7364e5c68542b5829e8cc\n"
    },
    {
      "commit": "dbfd21c9ba95b4d457fece4da2cfafa67ad6e193",
      "tree": "15f41dc31048a9eb0dd0fcbcb72a7f193bd262b7",
      "parents": [
        "6d568456bffebbc92e6c369ba56b493c30009863"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 10 20:01:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 20:03:08 2026 -0700"
      },
      "message": "tlbmc: Use non-throwing filesystem APIs in store_impl\n\nGoogle-Bug-Id:478925741\nPiperOrigin-RevId: 979543134\nChange-Id: Ie689cde9c4bdc348aed7d753cec119b619c71b76\n"
    },
    {
      "commit": "6d568456bffebbc92e6c369ba56b493c30009863",
      "tree": "9bddddcb0cb8e6e661797cee94adeadb97621f1f",
      "parents": [
        "5f39d8f771d64cf5e8511d611bfa67828d48a648"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 10 19:46:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 19:47:44 2026 -0700"
      },
      "message": "Add Redfish debug route and bulk clear action for sensor value overrides\n\n- Exposes GET /redfish/tlbmc/Debug/SensorValueOverrides to view active sensor value overrides formatted and grouped by board config key.\n- Exposes POST /redfish/tlbmc/Debug/SensorValueOverrides/Actions/SensorValueOverrides.ClearOverrides action to clear all active sensor value overrides across all sensors.\n- Gates ClearOverrides action using IsSensorOverrideEnabled() to ensure safety on prod images.\n- Registers authorization pattern in private_pattern_to_entity_array.h.\n\nGoogle-Bug-Id:550410302\nPiperOrigin-RevId: 979537721\nChange-Id: I82583f58015a25d8bba224ec71ea3841d2d30e1b\n"
    },
    {
      "commit": "5f39d8f771d64cf5e8511d611bfa67828d48a648",
      "tree": "298fecdb3e3cac516653b6fb8885b90adbb24b99",
      "parents": [
        "a93e90b2a3e273b741d1c87e9227e75fa9c5d892"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 10 19:11:43 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 19:13:10 2026 -0700"
      },
      "message": "Add tlBMC Redfish PATCH override route and dev-signed safety gating for sensors\n\nThis change implements software sensor override management via Redfish:\n- Supports `PATCH /redfish/v1/Chassis/\u003cChassisId\u003e/Sensors/\u003cSensorId\u003e` with payload `Oem.Google.SensorValueOverridden: true` and `Reading` to instantiate a software override (enforces that `Reading` must be present).\n- Supports `PATCH` with `Oem.Google.SensorValueOverridden: false` to clear an active override (enforces that `Reading` must NOT be present).\n- Conditionally decorates `GET` responses with `Oem.Google.SensorValueOverridden: true` only when a software override is active, omitting the field entirely when inactive.\n- Implements compile-time safety gating using `constexpr bool enableTlbmcSensorOverride` from `bmcweb_config.h` (configured via Meson option `tlbmc-sensor-override` and Bazel build flag `tlbmc_sensor_override`), with runtime environment variable fallback `ENABLE_TLBMC_SENSOR_OVERRIDE` for test environments. Returns HTTP 403 Forbidden (`Base.1.13.0.ActionNotSupported`) on production builds when disabled.\n\nGoogle-Bug-Id:550410302\nPiperOrigin-RevId: 979525293\nChange-Id: I1843082e86e8a0e6ff422f3f7a2c92199fdd7abf\n"
    },
    {
      "commit": "a93e90b2a3e273b741d1c87e9227e75fa9c5d892",
      "tree": "d6e952918faed1cff849e1ead93d293581a6a242",
      "parents": [
        "8deb57a09bbe2e6f2804884c8fd1061446f2575e"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 10 17:06:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 10 17:07:42 2026 -0700"
      },
      "message": "Add tlBMC sensor override APIs to Store and SensorCollectorAggregator\n\nExpose software sensor override APIs on the Store interfaces:\n- SetSensorOverride(sensor_key, value)\n- ClearSensorOverride(sensor_key)\n- ClearAllSensorOverrides()\n- GetOverriddenSensorKeys()\n- IsSensorOverridden(sensor_key)\n\nGoogle-Bug-Id:550410302\nPiperOrigin-RevId: 979476560\nChange-Id: Ib472ace45aac3939d4b8a129c6471ca5b80e3043\n"
    },
    {
      "commit": "8deb57a09bbe2e6f2804884c8fd1061446f2575e",
      "tree": "bf33a8200a818b302542ba39e05950f9e3e92340",
      "parents": [
        "cfc9646af9948900033c600a3be14a7f901a1eeb"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 09 14:07:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 09 14:09:03 2026 -0700"
      },
      "message": "Always populate ControllerType for Google NVMe controllers.\n\nUnder /google/v1/NVMe, checkPrimary() was previously gated behind\nenableCustomNVMe. This prevented standard NVMe devices from reporting\n\"ControllerType\": \"Primary\".\n\nMove checkPrimary() outside enableCustomNVMe so that ControllerType is\nevaluated for all NVMe controllers. When the primary D-Bus association\nis absent or empty, ObjectMapper\u0027s GetAssociatedSubTreePaths returns an\nempty list without error, safely defaulting ControllerType to \"Primary\".\n\nGoogle-Bug-Id:548673110\nPiperOrigin-RevId: 978742465\nChange-Id: Ib70991d56db5cd0975688653efe87297e7d22bbe\n"
    },
    {
      "commit": "cfc9646af9948900033c600a3be14a7f901a1eeb",
      "tree": "68b29f1912ab42948b7cd401c3fbe7d74901990a",
      "parents": [
        "7981ac3e255104bb7f6d9d4a85427e7c49f14c8b"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 19:53:59 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 19:54:57 2026 -0700"
      },
      "message": "Disable -Wstringop-overflow for GCC in gbmcweb\n\nPiperOrigin-RevId: 978253371\nChange-Id: Ibf9cf3beee61652fe0a4875a69b231eac7e7e64e\n"
    },
    {
      "commit": "7981ac3e255104bb7f6d9d4a85427e7c49f14c8b",
      "tree": "a73698a3977b7e113b3e270dd9ff22f38687f160",
      "parents": [
        "1bfc8fbf43b79754a0dc8bebe5350813689f089d"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 17:07:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 17:09:00 2026 -0700"
      },
      "message": "Support injecting PhysicalLocation instead of Location in Redfish devpath injector\n\nThis change adds a use_physical_location option to the Redfish expose configuration. When enabled, the injector writes location properties to the \"PhysicalLocation\" field instead of \"Location\".\n\nGoogle-Bug-Id:511148872\nPiperOrigin-RevId: 978192791\nChange-Id: I13cba09751e4b43518230eb1e9750e3b81454788\n"
    },
    {
      "commit": "1bfc8fbf43b79754a0dc8bebe5350813689f089d",
      "tree": "6479bffc2f616bb5c96e4eb51fd14b99f75b678f",
      "parents": [
        "de3d4f5b9c525a7e4c2c38c0574203a67c916445"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 15:05:05 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 15:06:22 2026 -0700"
      },
      "message": "Introduce ResourceEntity::kGoogleVoltageRegulator and ResourceEntity::kGoogleVoltageRegulatorCollection in Ecclesia Redfish authorization enums.\n\nGoogle-Bug-Id:515569955\nPiperOrigin-RevId: 978135546\nChange-Id: I9e404b826baeccf85871745e5c86be65a51ac688\n"
    },
    {
      "commit": "de3d4f5b9c525a7e4c2c38c0574203a67c916445",
      "tree": "6a106260b83079917fd8e0b3c9cc7bccf39920fb",
      "parents": [
        "3c072ee195ecfb4041938479331b98c58043f76e"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 15:02:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 15:03:43 2026 -0700"
      },
      "message": "Add virtual functions to ManagedObjectStore and remove production unit test downcasts.\n\nGoogle-Bug-Id:513334516\nPiperOrigin-RevId: 978134077\nChange-Id: I31bb4b2435efc24d60489ebf6fd3c1649580461a\n"
    },
    {
      "commit": "3c072ee195ecfb4041938479331b98c58043f76e",
      "tree": "f684d28b3ece822bb6aabf7dd849c3c6d8513136",
      "parents": [
        "af154ed806ad98a19214e4ae818199446363fb27"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 14:21:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 14:22:45 2026 -0700"
      },
      "message": "Disable cached PWM writes in tlBMC Thermal Control\n\nGoogle-Bug-Id:545704112\nPiperOrigin-RevId: 978114615\nChange-Id: I72b8f66ccfe550a744bb7806dc003c509161d910\n"
    },
    {
      "commit": "af154ed806ad98a19214e4ae818199446363fb27",
      "tree": "22a6f60ec744fe2c60e42861a2c67d8687443939",
      "parents": [
        "42e2c8aa2bea87190b3dabb8c539e0093edc22dc"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 14:09:11 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 14:11:02 2026 -0700"
      },
      "message": "Integrate BIOS configuration updates into memory capacity registry operations.\n\nThis change updates SystemRegistryImpl to write memory capacity settings to the BIOS configuration (via SetBiosSetting) in addition to GbmcSettings. It also adds validation to ensure the BIOS configuration registry is initialized before getting or setting memory capacity, and adds corresponding unit tests to verify these behaviors and error paths.\n\nGoogle-Bug-Id:541287798\nPiperOrigin-RevId: 978107994\nChange-Id: I6d018711baa325f65ddf0217f4fb69e1093649ba\n"
    },
    {
      "commit": "42e2c8aa2bea87190b3dabb8c539e0093edc22dc",
      "tree": "dc33e6f626447e4d1f6de5eb57825ff59d5da3d7",
      "parents": [
        "dc357ba8f1bfb289fbaded2052b7f43391dd2747"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 08 11:01:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 08 11:02:37 2026 -0700"
      },
      "message": "Support uint64_t Bus and Address properties for RawEeproms.\n\nOn 64-bit platforms, FruDevice registers Bus and Address properties as\nuint64_t (size_t) rather than uint32_t. Support unpacking both uint32_t\nand uint64_t variant types in handleRawEepromMemberGet to prevent\nproperty lookup failures.\n\nGoogle-Bug-Id:558424309\nPiperOrigin-RevId: 978007124\nChange-Id: I87099153f31555e55f72be67eede828eed3657e7\n"
    },
    {
      "commit": "dc357ba8f1bfb289fbaded2052b7f43391dd2747",
      "tree": "ea0874b14a98bbe00d33cb8c1131fcae5aee2fb2",
      "parents": [
        "dce20abd2bac11a5c9b05e8020ecc17205f424f4"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Sep 04 13:57:14 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 04 13:58:49 2026 -0700"
      },
      "message": "Add ABSL flags for SMBIOS status file paths.\n\nIntroduces `smbios_single_host_status_file_path` and `smbios_multihost_host_status_file_path_prefix` ABSL flags to allow configuration of SMBIOS status latch file paths. These flags are passed into the `tlbmc` configuration in the webserver setup.\n\n#deterministic-bmc\n\nGoogle-Bug-Id:505754107,557321705\nPiperOrigin-RevId: 976482412\nChange-Id: Iadc4e192afa034b7fd56b34abbf1fc8f210da23c\n"
    },
    {
      "commit": "dce20abd2bac11a5c9b05e8020ecc17205f424f4",
      "tree": "ead6bfca2886ce28c8815948c639739b1de831ec",
      "parents": [
        "65bed0037f830cee655a70ceacfe4bee15e7af14"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 22:03:22 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 22:04:43 2026 -0700"
      },
      "message": "Add support for GPIO-triggered LED policies in LedCollector.\n\nPiperOrigin-RevId: 976099744\nChange-Id: I06b936c666cd4fc303350125dbbab43987958700\n"
    },
    {
      "commit": "65bed0037f830cee655a70ceacfe4bee15e7af14",
      "tree": "f10bbcb765d8e15cd20f1cb8cf7791d704fcc71e",
      "parents": [
        "02658238886eafc7c550c309f7c5a12cd7ac58ff"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 21:44:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 21:46:12 2026 -0700"
      },
      "message": "Add GPIO-backed LED support to the LED collector.\n\nPiperOrigin-RevId: 976093000\nChange-Id: Ied2611527ce5ba7b6ebcb6555ac33da887083b94\n"
    },
    {
      "commit": "02658238886eafc7c550c309f7c5a12cd7ac58ff",
      "tree": "923ea290785a0e7be6b0e4d56a7b65c7dc7dfd46",
      "parents": [
        "83b65c214f39274ca320ae0ac79c556f4796b9e3"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 20:36:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 20:37:46 2026 -0700"
      },
      "message": "Add support for shared memory variables in the LED collector.\n\nPiperOrigin-RevId: 976069334\nChange-Id: I2fb022fd3d8ec186dc0e6a08e6e1a1ab0059e803\n"
    },
    {
      "commit": "83b65c214f39274ca320ae0ac79c556f4796b9e3",
      "tree": "e09846fa5dceaa262228cb2a2c454806570038d9",
      "parents": [
        "557f4b79f4c284ce7eaf4ebd334976cd0e4fafde"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 19:16:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 19:17:14 2026 -0700"
      },
      "message": "Add persist_previous_state option to LED configuration.\n\nGoogle-Bug-Id:540653227\nPiperOrigin-RevId: 976044718\nChange-Id: Ibff6ddd18e73007e1b5601a3b163f7e27e8c095c\n"
    },
    {
      "commit": "557f4b79f4c284ce7eaf4ebd334976cd0e4fafde",
      "tree": "74e37fdd463d59580d71797c77e0804ac0530c0e",
      "parents": [
        "526aa4ade79ee6074042acd0937abe9251033513"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 15:49:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 15:50:54 2026 -0700"
      },
      "message": "Implement indicator LED control in Redfish routes\n\nPiperOrigin-RevId: 975965402\nChange-Id: Ic3e62ab3e0eb665164c98ea6c63d3f9e6d32a24b\n"
    },
    {
      "commit": "526aa4ade79ee6074042acd0937abe9251033513",
      "tree": "dc5519a691ad4f9cfa05ae650ec21162d6f7ccb1",
      "parents": [
        "2b2e11c96297ee0a0ec09404c85806b6e1053ef9"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 15:29:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 15:31:04 2026 -0700"
      },
      "message": "Update ProcessSmbiosCpu for handling different CPU devpaths\n\nGoogle-Bug-Id:505754107\nPiperOrigin-RevId: 975956155\nChange-Id: I9e28433b942783da5b719d22c90f33a68765ee30\n"
    },
    {
      "commit": "2b2e11c96297ee0a0ec09404c85806b6e1053ef9",
      "tree": "8aa41860480587fce1750e80059a9d72da553349",
      "parents": [
        "5919c0572e278f5ccd85a6d7d225cf2735bc4ff1"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 15:05:14 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 15:06:15 2026 -0700"
      },
      "message": "Use boost::asio::post instead of the deprecated strand member function post\n\nGoogle-Bug-Id:482144905\nPiperOrigin-RevId: 975944390\nChange-Id: I9f39a5013b10c7bbac3a4f8985c3f0efe6dd4780\n"
    },
    {
      "commit": "5919c0572e278f5ccd85a6d7d225cf2735bc4ff1",
      "tree": "6aec19393f61a3bdf40d51a9c349f20756ddcc08",
      "parents": [
        "224bf512a692b20b97b608870dd8bc1766dee6ee"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 14:43:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 14:44:35 2026 -0700"
      },
      "message": "Handle unpopulated raw EEPROMs gracefully in the RawEeproms member GET handler.\n\nGoogle-Bug-Id:555857465\nPiperOrigin-RevId: 975934136\nChange-Id: Idb63775d3b897a50b953aef407af2fa100d96edd\n"
    },
    {
      "commit": "224bf512a692b20b97b608870dd8bc1766dee6ee",
      "tree": "d13a72d90defafe4d5e44950d4d2f55582691173",
      "parents": [
        "2a67948c498f6d9295b6a6b7e1aac61a476ea0d3"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 08:54:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 08:55:51 2026 -0700"
      },
      "message": "Implement LED trigger policy \u0026 LED Indicator\n\nPiperOrigin-RevId: 975754032\nChange-Id: I9aaa4e75a63aa1e5300ef0cdff87fc208613e862\n"
    },
    {
      "commit": "2a67948c498f6d9295b6a6b7e1aac61a476ea0d3",
      "tree": "01cf0fa4c361d2c3f5e05c6c125eaf107b0fc923",
      "parents": [
        "f0459ac33ec785b37db223d9ebe2db98fc3bbf84"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Sep 03 04:54:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 03 04:56:03 2026 -0700"
      },
      "message": "Implement LED policy evaluation\n\nPiperOrigin-RevId: 975665202\nChange-Id: I931774e34ac9045fd2c9a5a196cbd8465a79a87f\n"
    },
    {
      "commit": "f0459ac33ec785b37db223d9ebe2db98fc3bbf84",
      "tree": "5cacda44ad367adb9e82bf4e7dcdcf6f9caaea42",
      "parents": [
        "a987ee36ea6a3fd6a4e7d75324eb39f4c6f979e6"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 21:45:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 21:46:48 2026 -0700"
      },
      "message": "Enable sensor collector to connect `WriteManualPwm` to its members writing fan PWMs\n\nGoogle-Bug-Id:555225021,555226212\nPiperOrigin-RevId: 975498315\nChange-Id: I04f0940c9c8f4f3a953c7a87da6672e288169b2b\n"
    },
    {
      "commit": "a987ee36ea6a3fd6a4e7d75324eb39f4c6f979e6",
      "tree": "3720ebfc517a00446e975d9efe1a4d863ec71378",
      "parents": [
        "5e7519e2683eab71a994e761312e67ef611809bd"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 19:38:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 19:39:26 2026 -0700"
      },
      "message": "Expose BIOS memory capacity through SystemRegistry and update benchmark tolerance.\n\nImplement `GetMemoryCapacityGib` and `SetMemoryCapacityGib` through `SystemRegistry` and `SystemRegistryImpl` based on the `SystemBiosSettings` proto contract. Add unit tests for memory capacity getter, setter, multi-host isolation, and error handling.\n\nGoogle-Bug-Id:541287798\nPiperOrigin-RevId: 975458390\nChange-Id: I8522fc781b1ea96b7d4a8caeaabbd0d1e7bec73e\n"
    },
    {
      "commit": "5e7519e2683eab71a994e761312e67ef611809bd",
      "tree": "ef5396fa0792da560ce46f2677fe5bfbaca8e461",
      "parents": [
        "e9489b048dd947f87e8f307a166e3fbc281bab27"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 17:21:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 17:23:07 2026 -0700"
      },
      "message": "Support Microseconds unit in tlBMC Entity-Manager parser and HFT adapter\n\nAdd UNIT_MICROSECONDS to SensorUnit enum in tlBMC sensor.proto, support \u0027Microseconds\u0027 string in Entity-Manager JSON configuration parsing, and map it to SENSOR_UNIT_MICROSECONDS / SENSOR_TYPE_TIME in the HFT adapter.\n\nGoogle-Bug-Id:555854611\nPiperOrigin-RevId: 975414473\nChange-Id: Ie38d5833f11ab3c5b07fb4d166e9631d654411f7\n"
    },
    {
      "commit": "e9489b048dd947f87e8f307a166e3fbc281bab27",
      "tree": "27792255b97d1c1732bcbf3faa9c0f20ee3eab46",
      "parents": [
        "00cf4669df4ff91c2cdbd88b09cf8e98b5e47c62"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 16:26:05 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 16:27:44 2026 -0700"
      },
      "message": "Upgrade gbmcweb C++ standard to C++23\n\nGoogle-Bug-Id:482144905,549612859\nPiperOrigin-RevId: 975390679\nChange-Id: I3b544caef2f653dc97cbbe130d023f2a378d6bdd\n"
    },
    {
      "commit": "00cf4669df4ff91c2cdbd88b09cf8e98b5e47c62",
      "tree": "04e1646e53df06e9ee594d9924acdc3e087609f6",
      "parents": [
        "9a5dcfac079a2f80b142427e5007d7165c22c8cc"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 12:08:18 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 12:09:39 2026 -0700"
      },
      "message": "Add tlBMC sensor value override functionality\n\nIntroduces thread-safe software override support in the `milotic_tlbmc::Sensor` base class and overridden sensors.\n\nKey changes:\n- Adds `SetOverrideValue()`, `ClearOverride()`, `IsOverridden()`, and `GetOverrideValue()` to `Sensor`, guarded by `override_mutex_`.\n- Updates `PollingBaseSensor::GetSensorData()` and `BulkSensor::GetSensorData()` to return the active override value when present.\n- Updates `Sensor::GetSensorAttributesDynamic()` and `BulkSensor::GetSensorAttributesDynamic()` to report `STATUS_READY` when overridden.\n- Shields `SyncPollingSensor::RefreshOnceAsync()` and `AdcSensor::RefreshOnceAsync()` by skipping physical hardware reads while an override is active and immediately dispatching the callback with the overridden reading.\n- Adds comprehensive unit tests in `polling_base_sensor_test.cc` verifying override set, get, clear, dynamic attributes, threshold evaluations, and polling shielding.\n\nGoogle-Bug-Id:550410302\nPiperOrigin-RevId: 975255792\nChange-Id: I3e793b2f0d75a78a4c97e8612b6096d5bf01bd1d\n"
    },
    {
      "commit": "9a5dcfac079a2f80b142427e5007d7165c22c8cc",
      "tree": "c89447297d00a28e7288615f3e035373d734ca8c",
      "parents": [
        "3da08e1bf6dc5811039b93e30ffda2384c3133ef"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 11:42:10 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 11:43:57 2026 -0700"
      },
      "message": "Do not create CredentialManager in server.cc if not injected.\n\nGoogle-Bug-Id:527528182\nPiperOrigin-RevId: 975243535\nChange-Id: I3ebb142ef629acf8759ce293100452f036b20629\n"
    },
    {
      "commit": "3da08e1bf6dc5811039b93e30ffda2384c3133ef",
      "tree": "c1b18d776b93aa9de60dc5031fe69a1664501f36",
      "parents": [
        "5bd0babda6faa46d52801c0adef310f1a5079274"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 10:30:59 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 10:32:27 2026 -0700"
      },
      "message": "Invoke `SetManualPwm` in fan PWM writing\n\nGoogle-Bug-Id:555225021,555226212\nPiperOrigin-RevId: 975206054\nChange-Id: I9a44075ebb6a8781b175d9909b26c2a3f1d7ca9b\n"
    },
    {
      "commit": "5bd0babda6faa46d52801c0adef310f1a5079274",
      "tree": "11a3111f57e0c5411209e570864ac34252a8df78",
      "parents": [
        "6038e3e021d7ffca87466ca89794034bc8f58631"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Sep 02 09:37:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 02 09:39:35 2026 -0700"
      },
      "message": "Restrict direct devpath reporting to nodes with BMC_IR_DIRECT_ETHERNET role.\n\nUpdates BmcWebAuthorizerSingleton to parse and expose whether the current node has the BMC_IR_DIRECT_ETHERNET role from the offline node entity configuration. to conditionally skip direct devpath and location reporting if the role is not present. Unit tests are added to verify the behavior for both cases.\n\nGoogle-Bug-Id:516873670\nPiperOrigin-RevId: 975175521\nChange-Id: I9d179d751879eb6d6d80271334abd4fc6594ffc8\n"
    },
    {
      "commit": "6038e3e021d7ffca87466ca89794034bc8f58631",
      "tree": "c67371f51cd401d8abc46ea65ed317d6a93c2180",
      "parents": [
        "f3592f88cda89a990e792f4cffff115409b8b97b"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 01 17:05:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 17:07:30 2026 -0700"
      },
      "message": "Expose `SetManualPwm` in store\n\nGoogle-Bug-Id:555225021,555226212\nPiperOrigin-RevId: 974787630\nChange-Id: I771320f943d345abd26811bf701659d627769e68\n"
    },
    {
      "commit": "f3592f88cda89a990e792f4cffff115409b8b97b",
      "tree": "947a66b3afae85642b8cdf77d7b5c62ae3b5d387",
      "parents": [
        "eb7effba86d4e81cc73786929efc69f6d0d06971"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 01 14:48:33 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 14:50:29 2026 -0700"
      },
      "message": "Expose `SetManualPwm` in the thermal collector\n\nGoogle-Bug-Id:555225021,555226212\nPiperOrigin-RevId: 974719095\nChange-Id: I548a7f1b7895ad6d841902d720e39698034f976f\n"
    },
    {
      "commit": "eb7effba86d4e81cc73786929efc69f6d0d06971",
      "tree": "56cd4133b84a6d1c4fada5e19737a7069b8a6fed",
      "parents": [
        "ca74a55f51a91aa02630fbc26f6604dca6a82f65"
      ],
      "author": {
        "name": "Yuli Fiterman",
        "email": "fiterman@google.com",
        "time": "Wed Aug 26 23:06:41 2026 +0000"
      },
      "committer": {
        "name": "Yuli Fiterman",
        "email": "fiterman@google.com",
        "time": "Tue Sep 01 14:04:19 2026 -0700"
      },
      "message": "bmcweb: Log throw-site stack on std::terminate\n\nUncaught exceptions in gbmcweb reach std::terminate only after asio\u0027s\nio_context and the sdbusplus posted-rethrow loop have already unwound the\nstack, so the default terminate handler prints a backtrace that no longer\ncontains the original throw site. This makes fleet crashes from stray\nexceptions very hard to triage.\n\nInterpose __cxa_throw (the folly exception_tracer technique, reduced to a\nsingle self-contained translation unit) to record the throw-site stack of\nevery exception, keyed by the exception object address, and install a\nstd::terminate handler that looks the record up via the in-flight\nexception_ptr and logs it. The terminate path performs no allocation,\ntakes no locks and cannot re-enter, since it may run under suspected heap\ncorruption.\n\nFor the interposer to record throws from libstdc++ and other shared\nobjects -- not just the executable\u0027s own code -- it must win dynamic\nsymbol resolution against libstdc++\u0027s __cxa_throw. Export it with default\nvisibility plus a linker --dynamic-list, and compile the tracer\ntranslation unit directly into the executable so -Wl,--exclude-libs,ALL\ncannot force it back to a local, non-interposing symbol. Without this the\ninterposer only captures throws whose __cxa_throw call site is compiled\ninto the executable, and misses standard-library and cross-library throws.\n\nA runtime kill switch (--exception_stack_tracer\u003dfalse) disables recording\nand keeps the default terminate handler.\n\nThe tracer depends on glibc backtrace(), libgcc unwinding and the Itanium\n__cxa_throw ABI, so it is built only in the meson/yocto (gcc) image.\nEvery reference to it from webserver_main_setup is guarded by\nBMCWEB_ENABLE_EXCEPTION_STACK_TRACER, which is defined only by meson, so\nthe google3/blaze build carries no dependency on the tracer. The tracer\nsource, header and test are GoB-only.\n\nTested:\n- Built gbmcweb and ran the unit tests inside the gbmcweb Gerrit\n  presubmit gcc image (openbmc-ubuntu-unit-test) with the presubmit meson\n  flags; exception_stack_tracer_test passes 4/4.\n- Verified the guarded references compile out when\n  BMCWEB_ENABLE_EXCEPTION_STACK_TRACER is undefined.\n- On an emulated BMC image in Mimik (QEMU), using an out-of-tree\n  debug-only endpoint that throws from a separate shared library through\n  asio\u0027s inline executor (catch + async rethrow), confirmed the terminate\n  handler logged the throw-site stack and that it symbolized across both\n  modules. Before exporting the interposer the same cross-module throw was\n  not recorded; after, it is. Verified with readelf that __cxa_throw is\n  GLOBAL DEFAULT in the executable\u0027s dynamic symbol table.\n\nGoogle-Bug-Id: 553672958\nSigned-off-by: Yuli Fiterman \u003cfiterman@google.com\u003e\nChange-Id: Ib461c25ffd44188707b628fad9d85f08ef516549\n"
    },
    {
      "commit": "ca74a55f51a91aa02630fbc26f6604dca6a82f65",
      "tree": "c4f78105688abb1203005bd1d33ff2f337691abc",
      "parents": [
        "4ddfb01ccb1040b70c7cf3c82e7de475c5b05564"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 01 13:40:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 13:41:56 2026 -0700"
      },
      "message": "Write local fan PWM during manual mode if it exists\n\nGoogle-Bug-Id:555225021,555226212\nPiperOrigin-RevId: 974682124\nChange-Id: If02695a309d785bf859febc7435dc58da681416d\n"
    },
    {
      "commit": "4ddfb01ccb1040b70c7cf3c82e7de475c5b05564",
      "tree": "84f6ee356545b749eb627a59f26e87f8f4fe233a",
      "parents": [
        "a94755c667c12748fef74ebf9be4bc6e4c167ca6"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 01 13:37:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 13:38:48 2026 -0700"
      },
      "message": "Fix CredentialManager sharing and combined server certificate installation.\n\nGoogle-Bug-Id:527528182\nPiperOrigin-RevId: 974680731\nChange-Id: I639d0fca51865f7e2b82c3a0b205fca6bba35a5e\n"
    },
    {
      "commit": "a94755c667c12748fef74ebf9be4bc6e4c167ca6",
      "tree": "7671592c7558fd04d7c14de19925b072ca21ec85",
      "parents": [
        "bcc57fd6ae1ad35be17d161e67909a6c9e0bf5f8"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 01 13:11:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 13:13:44 2026 -0700"
      },
      "message": "Expose formatted hexdump of raw EEPROM data in responses.\n\nGoogle-Bug-Id:550525180\nPiperOrigin-RevId: 974666708\nChange-Id: Ia85d38b776354d60fd5ba8f13209968a64c9ebdc\n"
    },
    {
      "commit": "bcc57fd6ae1ad35be17d161e67909a6c9e0bf5f8",
      "tree": "c5d5561d71c429565876b9fa3c27f02ee6779422",
      "parents": [
        "0a27a5ea800d7375a60a0e6145f743c0969a1cb5"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Sep 01 10:56:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 01 10:58:10 2026 -0700"
      },
      "message": "sensor_threshold SEL: use board_config_key as fallback in GetEventSourceType()\n\nGoogle-Bug-Id:526865578\nPiperOrigin-RevId: 974590455\nChange-Id: Ib8fe917ebbbcd0daef343d6edc7e05dcfb4dbd04\n"
    },
    {
      "commit": "0a27a5ea800d7375a60a0e6145f743c0969a1cb5",
      "tree": "a36b21cf1914654214ffbd9f2d414048705b200b",
      "parents": [
        "e09ed69f6a4788f80234fe17f33cd8701a675975"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 31 18:12:24 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 18:13:57 2026 -0700"
      },
      "message": "Dynamically resolve D-Bus service for FruDevice member routes in gbmcweb.\n\nIn `gbmcweb`, Redfish exposes IPMI FRUs and raw EEPROMs at:\n* `/redfish/v1/Managers/bmc/Oem/Google/FruDevice/IpmiFrus/\u003cfruId\u003e`\n* `/redfish/v1/Managers/bmc/Oem/Google/FruDevice/RawEeproms/\u003crawId\u003e`\n\nPreviously, `handleIpmiFruMemberGet` and `handleRawEepromMemberGet` hardcoded the target D-Bus service name to `\"xyz.openbmc_project.FruDevice\"`. However, on platforms where FRU D-Bus objects are published by multiple daemons implementing the same interface, querying the hardcoded service returns `404 Not Found`.\n\nUpdate `handleIpmiFruMemberGet` and `handleRawEepromMemberGet` to dynamically discover the owning D-Bus service via the Object Mapper (`xyz.openbmc_project.ObjectMapper.GetObject`) using the interface filter, enabling support for multi-daemon FRU architectures.\n\nGoogle-Bug-Id:532341925\nPiperOrigin-RevId: 974186062\nChange-Id: I76875c077422f3fe0985728ed885eb838bb0ba60\n"
    },
    {
      "commit": "e09ed69f6a4788f80234fe17f33cd8701a675975",
      "tree": "992ddc283d4d50a389b69fd0a976df9e9a6aa1eb",
      "parents": [
        "dcb52ffe39d471f28f47fad7981f466d4a1eba07"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 31 13:41:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 31 13:43:57 2026 -0700"
      },
      "message": "Expose granular telemetry error statuses in Redfish OEM schema\n\nUpdates Redfish sensor handlers (\u0027routes/sensor.cc\u0027) to explicitly map all store status enums to standard DMTF states and Google OEM strings:\n-\u003e Maps all unhealthy sensor statuses (\u0027STATUS_DRIVER_READ_ERROR\u0027, \u0027STATUS_INVALID_DATA\u0027, \u0027STATUS_STALE\u0027, etc.) to standard DMTF \u0027State: Disabled\u0027.\n-\u003e Exposes machine-readable status strings (\u0027DriverReadError\u0027, \u0027InvalidData\u0027, \u0027Stale\u0027, \u0027CreationFailed\u0027) under \u0027Status.Oem.Google.SensorState\u0027.\n-\u003e Removes root-level \u0027error\u0027 blocks on HTTP 200 OK responses.\n\nGoogle-Bug-Id:511201651\nPiperOrigin-RevId: 974054696\nChange-Id: I4e87f0974afb1e1b1a84aacc482e5c0decfa1f30\n"
    },
    {
      "commit": "dcb52ffe39d471f28f47fad7981f466d4a1eba07",
      "tree": "aecf7c26e8b7a1362d7a90cadac04d05bc0359c7",
      "parents": [
        "fc089d1d2a14a28f8371bea28f1b94b6992373fe"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 28 23:19:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 28 23:21:03 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 972981825\nChange-Id: I03725fa0c709ccdb4620b460676147464c210499\n"
    },
    {
      "commit": "fc089d1d2a14a28f8371bea28f1b94b6992373fe",
      "tree": "79093269dff97997d6d30c9c9e82ffcf36f0a1fc",
      "parents": [
        "09e9df7691264e29e7f1bdf667ebf24713c2296e"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 27 21:48:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 21:49:45 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 972337306\nChange-Id: I2846f2c9bb0d46b39da22c6f78e1e5a070bece83\n"
    },
    {
      "commit": "09e9df7691264e29e7f1bdf667ebf24713c2296e",
      "tree": "47bc4b1b4629466006d1f43b5c000d967dba2ddd",
      "parents": [
        "99c86f436de14148d9b78e58c9df2feb751b8f35"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 27 14:57:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 14:59:11 2026 -0700"
      },
      "message": "Set ExpandQuery MaxLevels to 0 in Redfish ServiceRoot\n\nMaxLevels was accidentally set to 1 before. We need to set it to 0 to show it dosent support expand.\n\nGoogle-Bug-Id:553082322\nPiperOrigin-RevId: 972173681\nChange-Id: I65d6d725ff235d79ed32d180338735f15753d4c7\n"
    },
    {
      "commit": "99c86f436de14148d9b78e58c9df2feb751b8f35",
      "tree": "1839c73f362317c45f306e0125867e6977f5304d",
      "parents": [
        "04636a9967f542928fb8afd6436dc3a398e70903"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 27 11:16:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 11:17:48 2026 -0700"
      },
      "message": "Create FRE algorithm config in thermal_config.proto\n\nGoogle-Bug-Id:552019518\nPiperOrigin-RevId: 972056442\nChange-Id: If0c0f0f6ccdbb64bb9190aed0320c92efa790e52\n"
    },
    {
      "commit": "04636a9967f542928fb8afd6436dc3a398e70903",
      "tree": "4f5752477e3a266de89ace2e9d55abe79a542520",
      "parents": [
        "29fa93a82aa12a96748c91e5e410730f55913ca8"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 27 09:54:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 27 09:56:25 2026 -0700"
      },
      "message": "Disambiguate probed configs sharing the same template name in tlBMC\n\nWhen multiple distinct entity config files share identical unexpanded template names (e.g. \"Name\": \"board_i2c_$bus\" or \"Card_$index\"), tlBMC stored probed configurations in `ProbedConfigMap` keyed by the unexpanded template name string. When subsequent configs with distinct probes (e.g., matching bus 0 vs bus 8) probed true, the latter config\u0027s JSON object overwrote earlier matching configs in the map. During `ProcessProbedConfigs`, only the last config\u0027s \"Exposes\" array (and ComputerSystem associations) was applied across all matched FRUs.\n\nKey Changes:\n1. Updated `ProbedConfigMap` to `absl::flat_hash_map\u003cstd::string, std::vector\u003cProbedConfigData\u003e\u003e`, storing each probed config\u0027s matched FRUs alongside its original JSON configuration.\n2. Updated `ProbeFru`, `AddReadyFruConfig`, and `ProcessConfigs` to append and iterate over probed config entries in the map.\n3. Updated `ProcessProbedConfigs` to process each `ProbedConfigData` with its corresponding JSON configuration while maintaining continuous `$index` numbering across configs sharing the template name.\n4. Added unit test cases in `entity_config_json_impl_test.cc` verifying `$bus` and `$index` substitution when multiple config files share template names.\n\nGoogle-Bug-Id:548667378,552599743\nPiperOrigin-RevId: 972010029\nChange-Id: I67cc5c64450595cdfd508fcc5dfa1e388d435911\n"
    },
    {
      "commit": "29fa93a82aa12a96748c91e5e410730f55913ca8",
      "tree": "58f7ec8dc92558098717b8f03fc138e2186111a8",
      "parents": [
        "6b50f404023a1af8c009f4343736a02ee421af57"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 26 15:01:35 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 15:03:51 2026 -0700"
      },
      "message": "Restrict Redfish expand query features when RDE devices are present\n\nGoogle-Bug-Id:553082322\nPiperOrigin-RevId: 971521741\nChange-Id: I29b1e0862015974c705223035a585e1d4bf54a6c\n"
    },
    {
      "commit": "6b50f404023a1af8c009f4343736a02ee421af57",
      "tree": "7274981cc235c4fbbb840c1d793ad8d7dbf2ca57",
      "parents": [
        "d3fdd0587ba8ad0964da17939069cf1ec4a9380b"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 26 11:25:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 26 11:26:44 2026 -0700"
      },
      "message": "Clean up non-standard unique_ptr initializations in tlbmc \u0026 hft #cleanup\n\nPiperOrigin-RevId: 971397832\nChange-Id: I9212a1c407030e3385c6b58946789beea2e34517\n"
    },
    {
      "commit": "d3fdd0587ba8ad0964da17939069cf1ec4a9380b",
      "tree": "ce7a778b789310b5d775baeb7a105bf49cfb6d98",
      "parents": [
        "a2a0c151f884e36a2d3d096ef4a8ac17c8ef2a1f"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 11:25:52 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 11:28:32 2026 -0700"
      },
      "message": "Add ConnectX-9 PortMetrics and TransceiverTelemetry support to D-Bus network ports\n\nExpose PortMetrics and TransceiverTelemetry for ConnectX-9 network ports in gBMCWeb:\n- Add @odata.id link to Metrics in buildNetworkPortDBus.\n- Implement buildNetworkPortMetricDBus to query PortECC, PortPacketCounters, and PCIeECC from NSM D-Bus interfaces.\n- Route handleNetworkPortMetricGetDBus to buildNetworkPortMetricDBus.\n\nTested:\nVerified PortMetrics and TransceiverTelemetry endpoints return expected metric values on ConnectX-9 network ports.\nGoogle-Bug-Id:540603557\nPiperOrigin-RevId: 970680678\nChange-Id: I953cf2ff8eb51e43254fa7f9efb0321d517b0dc9\n"
    },
    {
      "commit": "a2a0c151f884e36a2d3d096ef4a8ac17c8ef2a1f",
      "tree": "9a2b6a708df94d1b8678eef1cab284b6ea1d2506",
      "parents": [
        "c48e8fda32106d965f2dc9b6df8a1f3bb93e9504"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 11:25:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 11:27:28 2026 -0700"
      },
      "message": "Migrate google_service_root_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548091226\nPiperOrigin-RevId: 970680618\nChange-Id: I647c579ec1be960f00d6da99c6fe5dacd149470c\n"
    },
    {
      "commit": "c48e8fda32106d965f2dc9b6df8a1f3bb93e9504",
      "tree": "f73a02852413326b87e35f0e8c306c0dc73f3b9a",
      "parents": [
        "0f0ba50d6a483d1724ee474e8278efe33ceafb7f"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 11:24:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 11:25:48 2026 -0700"
      },
      "message": "Add support for MAX31760 fan controller.\n\nGoogle-Bug-Id:550536751\nPiperOrigin-RevId: 970679753\nChange-Id: Ib5acf7c76a47397227be0ab4ffbea64649e5aebf\n"
    },
    {
      "commit": "0f0ba50d6a483d1724ee474e8278efe33ceafb7f",
      "tree": "e646ef2b7e0d63dfbac6258cfbd6509174c41f3b",
      "parents": [
        "7b379f3567afc1738cec0280c5202ce29d26fca2"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 03:15:02 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 03:16:05 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 970434264\nChange-Id: I02739ddc9d9df7f1214bd2794c869a05550768ad\n"
    },
    {
      "commit": "7b379f3567afc1738cec0280c5202ce29d26fca2",
      "tree": "1ae9472f7c2ac59cb8af941dafe5fbf9371ae0b4",
      "parents": [
        "3ad89e446b65a29bdbbf7c835842c2d91123a7f2"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 00:53:47 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 00:54:41 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 970367788\nChange-Id: I0f9ddbf55ed6cb1ffc1f045a06b511a65b527e75\n"
    },
    {
      "commit": "3ad89e446b65a29bdbbf7c835842c2d91123a7f2",
      "tree": "8122a293ff2fb55acc684010691e8fb76d89eb02",
      "parents": [
        "cedc74a5009ba2b9b64b752a1654b13990beea57"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 00:28:02 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 00:31:27 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 970356812\nChange-Id: I06ebcce295db947ba377f88b775064b75997f8dd\n"
    },
    {
      "commit": "cedc74a5009ba2b9b64b752a1654b13990beea57",
      "tree": "fb6cb778ff0d3b4b31c61865c76e9d74e5fbe154",
      "parents": [
        "13c5d3b1bf9b3d6758d2eeaaba5aa320ee6a5535"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Tue Aug 25 00:17:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 25 00:18:31 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 970352365\nChange-Id: I4e4a49da93a488ec5999fb2fab548834703079bf\n"
    },
    {
      "commit": "13c5d3b1bf9b3d6758d2eeaaba5aa320ee6a5535",
      "tree": "61adcb8d1c4cc9df2583e60f50141030de97fea6",
      "parents": [
        "04af7fb48f7bf3cac7d8780c3e0a35b20e3df3fb"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 20:04:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 20:05:53 2026 -0700"
      },
      "message": "Migrate http_response_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548089848\nPiperOrigin-RevId: 970249038\nChange-Id: I5f3d9ac5277317233e0cdb9df2ed7a4b2b3f394d\n"
    },
    {
      "commit": "04af7fb48f7bf3cac7d8780c3e0a35b20e3df3fb",
      "tree": "6011ddbd0138c46f33ea3b608cdb7d8bfc95af6c",
      "parents": [
        "75905163113faace33e5f15d476f47387eb64824"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 19:32:31 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 19:33:40 2026 -0700"
      },
      "message": "Implement tlbmc led module\n\nPiperOrigin-RevId: 970236748\nChange-Id: Ife28857d25a31468fbd0465d5259e80d6fe4d6dc\n"
    },
    {
      "commit": "75905163113faace33e5f15d476f47387eb64824",
      "tree": "e79166c3739ed4e48a4216260a7b39ab3a9fe011",
      "parents": [
        "b9f314fdf4ef288e4f50158cbcc39aa33e428f9a"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 18:21:44 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 18:22:38 2026 -0700"
      },
      "message": "Migrate storage_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548089647\nPiperOrigin-RevId: 970209550\nChange-Id: Ica3e9e84cfdb18f1f286f39fcd31a34be595db41\n"
    },
    {
      "commit": "b9f314fdf4ef288e4f50158cbcc39aa33e428f9a",
      "tree": "4cf95a2bc50899956707186c58ba5dd25a89ca46",
      "parents": [
        "0553e45b18c4241c9fd0536a7dc30fb139e91f14"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 18:00:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 18:01:49 2026 -0700"
      },
      "message": "Migrate ethernet_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548089846\nPiperOrigin-RevId: 970200339\nChange-Id: I222b580a54dc1b7cf7b64163daa00699137bacd6\n"
    },
    {
      "commit": "0553e45b18c4241c9fd0536a7dc30fb139e91f14",
      "tree": "37a0bf3d01682bf2db3bcec5ded4164c4ff70cd0",
      "parents": [
        "c945dc94febe0b51c5e83b241819bc46e6520cf3"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 17:43:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 17:44:24 2026 -0700"
      },
      "message": "Migrate trusted_component_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548089321\nPiperOrigin-RevId: 970192218\nChange-Id: Ic2b96ff90989b06e84ae66b4145ee8c04beafcd9\n"
    },
    {
      "commit": "c945dc94febe0b51c5e83b241819bc46e6520cf3",
      "tree": "e73dbc350adc67f3f58b3f30876308ea02e1e138",
      "parents": [
        "3e91f69510acc417b17ed9d4a86548bd73d87db6"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 17:05:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 17:06:48 2026 -0700"
      },
      "message": "Migrate thermal_subsystem_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548087647\nPiperOrigin-RevId: 970173680\nChange-Id: Iefbe5eec2d96a83dd9754eda201c964788bd42cd\n"
    },
    {
      "commit": "3e91f69510acc417b17ed9d4a86548bd73d87db6",
      "tree": "328e633106ff8b4d12d5f60265cdbdb3792afc89",
      "parents": [
        "daa69bb754bb7db687a8e0fe304c5351dd0d4dd3"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 15:02:22 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 15:03:27 2026 -0700"
      },
      "message": "[tlBMC/g3doc] Fix internal links to .md documentation pages\n\nGoogle-Bug-Id:547927224\nPiperOrigin-RevId: 970102721\nChange-Id: Ib966b66f26213454f06c263b3dc62761d48775f1\n"
    },
    {
      "commit": "daa69bb754bb7db687a8e0fe304c5351dd0d4dd3",
      "tree": "ffa58e2d5e3f352127396055afee956a5d10f6d1",
      "parents": [
        "a954e177d45921c8d0d36a1edfddfd1d9c9f060e"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 13:05:56 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 13:07:45 2026 -0700"
      },
      "message": "Invoke `WriteCurrentPwmToFans` in thermal cycles\n\nGoogle-Bug-Id:545704112\nPiperOrigin-RevId: 970028762\nChange-Id: Icf9db2b86e8f44eb94053b34ebc2cb236a522734\n"
    },
    {
      "commit": "a954e177d45921c8d0d36a1edfddfd1d9c9f060e",
      "tree": "d565693f97b240bb78298510f45e6b2cc5b622d0",
      "parents": [
        "55702304c252e9e67f72f8ffc3cb6966bc6ac996"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 12:45:40 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 12:47:35 2026 -0700"
      },
      "message": "Create `WriteCurrentPwmToFans`\n\n`WriteCurrentPwmToFans` can provide consistent writes for fan PWM sensors (e.g., so that HW failsafe will not triggered during manual mode).\n\nGoogle-Bug-Id:545704112\nPiperOrigin-RevId: 970017331\nChange-Id: Ib95707c87c0630b39d79f3ab1b53b674bbf5895a\n"
    },
    {
      "commit": "55702304c252e9e67f72f8ffc3cb6966bc6ac996",
      "tree": "139e5931195519d3d667609e7f193c0b527f0942",
      "parents": [
        "7c20d3878fd8e3418d281da85833a342593ae38a"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Mon Aug 24 10:52:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Aug 24 10:53:36 2026 -0700"
      },
      "message": "Internal change\n\nGoogle-Bug-Id:481830992\nPiperOrigin-RevId: 969950548\nChange-Id: I90ab4b8fb4a85abb17a37914fbd95e8a5b623f3c\n"
    },
    {
      "commit": "7c20d3878fd8e3418d281da85833a342593ae38a",
      "tree": "2c666d2f5cc18e58f0dd899d8a300f9f33446673",
      "parents": [
        "c2187e50414b43d151b16f06ad83a94bbfe9c104"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Sun Aug 23 18:06:23 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 23 18:07:33 2026 -0700"
      },
      "message": "[tlBMC/g3doc] Update component documentation\n\nAutonomous documentation refresh based on latest codebase changes and Entity Manager configurations.\nSummarized updated files:\n - third_party/milotic/external/cc/tlbmc/g3doc/components/sensors/adc_sensors.md\n - third_party/milotic/external/cc/tlbmc/g3doc/components/sensors/psu_sensor.md\n - third_party/milotic/external/cc/tlbmc/g3doc/onboarding_npis/overview.md\n - third_party/milotic/external/cc/tlbmc/g3doc/onboarding_npis/tpu_debug_module.md\n\nGoogle-Bug-Id:547927224\nPiperOrigin-RevId: 969548763\nChange-Id: I9af3ac01ba9513106cff8acf689900c13c8a08d5\n"
    },
    {
      "commit": "c2187e50414b43d151b16f06ad83a94bbfe9c104",
      "tree": "e1f10f9c6c24a79ffe99f4d73f0103c0c7a566ec",
      "parents": [
        "b4421224ced4b68618305200665189b09d172bb4"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Sun Aug 23 17:55:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 23 17:56:06 2026 -0700"
      },
      "message": "Refresh and verify tlBMC g3doc documentation.\n\nGoogle-Bug-Id:544742031\nPiperOrigin-RevId: 969545579\nChange-Id: I6b766b1fe24f08c35b97479c0ad87390bf6a22f8\n"
    },
    {
      "commit": "b4421224ced4b68618305200665189b09d172bb4",
      "tree": "54b73a2ad88a61745a1feacd6135391391f41747",
      "parents": [
        "6d86f914aaf562717b91adfa3682df3e52d28553"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Sun Aug 23 06:33:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 23 06:34:43 2026 -0700"
      },
      "message": "Enable protofmt presubmit for tlbmc #cleanup\n\nPiperOrigin-RevId: 969371619\nChange-Id: I96110204ff5423636493097e96d6a20c764564b4\n"
    },
    {
      "commit": "6d86f914aaf562717b91adfa3682df3e52d28553",
      "tree": "e5978b6b61ec6fbd5484c1bea839f0168fb9746d",
      "parents": [
        "596d52d7f08a958cba95e2db9d2d841ec083bf1d"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Sat Aug 22 20:16:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Aug 22 20:18:06 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 969215849\nChange-Id: Ie55076010727711549f3758e1608d1f3aa4f0da1\n"
    },
    {
      "commit": "596d52d7f08a958cba95e2db9d2d841ec083bf1d",
      "tree": "68083fa7df3b35b54a48cc5517336e77f982bd6d",
      "parents": [
        "9c8cdfb5f901e8844f6239f3dca8d6ceb901529d"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 21 21:53:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 21:56:07 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 968865244\nChange-Id: Ib98c38ae000b912ab140d1596da7d60056803907\n"
    },
    {
      "commit": "9c8cdfb5f901e8844f6239f3dca8d6ceb901529d",
      "tree": "8309b7b66e987f871afbe8877cd9f9d4b5328c0e",
      "parents": [
        "d9a3ec6054043777ba728e9dcab0ea999eafeb0d"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 21 21:51:56 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 21:54:38 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 968864810\nChange-Id: I9fe4805ea29bee15a28e48dbbd4596ff49d14e38\n"
    },
    {
      "commit": "d9a3ec6054043777ba728e9dcab0ea999eafeb0d",
      "tree": "35e5d7762770e70f33cbe9d35b20234dc062a2a6",
      "parents": [
        "69630563cc324a007b4f3cf1c0af3201fe2079ea"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 21 21:50:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 21:52:15 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 968864421\nChange-Id: I135e977f6c159846af09d6a0ce671da935f7f190\n"
    },
    {
      "commit": "69630563cc324a007b4f3cf1c0af3201fe2079ea",
      "tree": "743b706059f99bd28cfdcb21fdd6cdb36666c575",
      "parents": [
        "667e1cee99125901d8a77d072b5a68190adbdacf"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 21 20:31:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 20:32:55 2026 -0700"
      },
      "message": "Improve hardware telemetry error reporting by preserving canonical error codes.\n\nPreviously, low-level telemetry errors were collapsed into generic unavailable states in the middleware cache, swallowing precise diagnostic details.\n\nThis change:\n- Updates the telemetry accessor base to cache and expose the precise canonical status returned by hardware read operations.\n- Updates the polling sensor interface to map and propagate these granular status codes (such as driver read errors or data corruption) directly to the BMC state tables.\n- Ensures downstream interfaces (like Redfish) receive specific, machine-readable symptoms instead of generic failure flags.\n\nTesting:\n- Added unit tests verifying telemetry state transitions for valid data, driver read issues, and data integrity failures.\nGoogle-Bug-Id:511201651\nPiperOrigin-RevId: 968842688\nChange-Id: Ie38f1a4ca6431e436eae5bdb009fdd62b4eb99ba\n"
    },
    {
      "commit": "667e1cee99125901d8a77d072b5a68190adbdacf",
      "tree": "cb03176a0cbdd9c9e8df486e567289c4e9b2f0d0",
      "parents": [
        "a09ccb64b51d9c92366163db460027dc96961afb"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 21 15:42:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 15:43:17 2026 -0700"
      },
      "message": "Fix suggestions by ClangTidy #cleanup\n\nPiperOrigin-RevId: 968732198\nChange-Id: I1b893ad11cd5783143eeee5c22c49291aaa6daab\n"
    },
    {
      "commit": "a09ccb64b51d9c92366163db460027dc96961afb",
      "tree": "5df6a737daaa77b007d4ba5fb8aac4c5848075d6",
      "parents": [
        "fd0fc5d13c325c45181225b553689911386e60d3"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Fri Aug 21 09:39:40 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Aug 21 09:40:41 2026 -0700"
      },
      "message": "Allow LanesInUse to be reported when its value is zero\n\nThis change removes the check that prevented LanesInUse from being populated in the Redfish response when its value was 0. This is a request from NPI team.\n\nGoogle-Bug-Id:544641665\nPiperOrigin-RevId: 968545228\nChange-Id: I8539a39b0f62a8e557579130d4529b287a802c15\n"
    },
    {
      "commit": "fd0fc5d13c325c45181225b553689911386e60d3",
      "tree": "ea9088b66a17245bb9fd9cb63e83fdd0662026d9",
      "parents": [
        "92069304ef8ffc3dd45560e128ac719ec347bcfd"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 23:08:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 23:10:53 2026 -0700"
      },
      "message": "Parse part location type for spawn assembly FRUs.\n\nGoogle-Bug-Id:477465918\nPiperOrigin-RevId: 968282386\nChange-Id: I2db6e78b3cf09a95360440411b6c7f6fe538e680\n"
    },
    {
      "commit": "92069304ef8ffc3dd45560e128ac719ec347bcfd",
      "tree": "a2dff825d65ae5912858deb2c483c88d50ab718b",
      "parents": [
        "11f6585e625772d97cb70a74be0e734d6c5dd989"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 21:31:38 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 21:32:33 2026 -0700"
      },
      "message": "[tlBMC] AdcSensor: Add stale file descriptor recovery when reading fails with ENODEV\n\nGoogle-Bug-Id:548269772\nPiperOrigin-RevId: 968243995\nChange-Id: I4083f26b025634be41c5063b211e493d44d75ea9\n"
    },
    {
      "commit": "11f6585e625772d97cb70a74be0e734d6c5dd989",
      "tree": "9b45b7019b4ec795fa73a26da18bd7b253f4d33d",
      "parents": [
        "451b7cbcd68174813c6cc2b0d2df03427de1d871"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 19:21:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 19:22:55 2026 -0700"
      },
      "message": "Migrate processor_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548071494\nPiperOrigin-RevId: 968196995\nChange-Id: Iedc8360b1d944219b31a2e8ed42b7eda2b1c0cb3\n"
    },
    {
      "commit": "451b7cbcd68174813c6cc2b0d2df03427de1d871",
      "tree": "9ec20e1b35f5c0de45ee4cc43f20183bce4f7031",
      "parents": [
        "4111a2a63862dea194c05a50d9c705af3b7db3db"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 17:15:55 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 17:18:00 2026 -0700"
      },
      "message": "Migrate power_supply_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548070242\nPiperOrigin-RevId: 968146608\nChange-Id: I8e06fb15b15826b6702906bd6b4968a41c185e99\n"
    },
    {
      "commit": "4111a2a63862dea194c05a50d9c705af3b7db3db",
      "tree": "d17258f3a290bff6d7db26b5ae508765d85bc917",
      "parents": [
        "ab9e3046ffd1779871412920cf8e3b62f84e6065"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 16:23:16 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 16:24:28 2026 -0700"
      },
      "message": "Migrate update_service_test.cpp from Gerrit to Google3.\n\nGoogle-Bug-Id:548089848\nPiperOrigin-RevId: 968120825\nChange-Id: Ic2e34411300cf965f30a5543404c214b66a54767\n"
    },
    {
      "commit": "ab9e3046ffd1779871412920cf8e3b62f84e6065",
      "tree": "f6b5b9e9123d35847643c01752356476a0f29094",
      "parents": [
        "cc7f05f5787444c0b0662f1f384bef6bd39ba271"
      ],
      "author": {
        "name": "Nan Zhou",
        "email": "nanzhou@google.com",
        "time": "Thu Aug 20 15:00:02 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 15:03:08 2026 -0700"
      },
      "message": "Include raw read value in PSU sensor conversion error messages.\n\nWhen a PSU sensor fails to convert read data to a number, the error message now includes the raw value that failed conversion to aid in debugging. Corresponding unit tests have been updated and expanded to verify this behavior.\n\nGoogle-Bug-Id:534801029\nPiperOrigin-RevId: 968074336\nChange-Id: Icb826ca0f0ecb413d4dd9d4ef1e2c31a49388ed8\n"
    },
    {
      "commit": "cc7f05f5787444c0b0662f1f384bef6bd39ba271",
      "tree": "9a109becacd2902b885419ddacf6a368c2aa3e84",
      "parents": [
        "e19f14b3be30ab40d659a47dbb00c8a5129c1ece"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 13:16:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 13:17:52 2026 -0700"
      },
      "message": "Correctly exposing fault log entries in Redfish LogServices for crashdumps\n\nThere is an issue where the fault log entries don\u0027t correctly expose the redfish URL under RelatedItem and AdditionalDataURI.\n\nFixing this issue by appending the correct prefix.\n\nGoogle-Bug-Id:549312733\nPiperOrigin-RevId: 968013052\nChange-Id: I91b39c73aa9805627e6e49ea79f3b3534dd51bfa\n"
    },
    {
      "commit": "e19f14b3be30ab40d659a47dbb00c8a5129c1ece",
      "tree": "e424ba70285fc8bc324ff8476a563843092a44ac",
      "parents": [
        "e83307e4f662caafb357458f0d55902ab0224996"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 11:53:09 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 11:54:36 2026 -0700"
      },
      "message": "Fix seconds truncation when reporting configured_sampling_interval_ms in StoreHftAdapter\n\nGoogle-Bug-Id:549794741\nPiperOrigin-RevId: 967961895\nChange-Id: I6b0e5efe8fb87ac1753ee9dba4d071b117ce7894\n"
    },
    {
      "commit": "e83307e4f662caafb357458f0d55902ab0224996",
      "tree": "e69f08fd049367367a6be89c5702cf7faabc6ea8",
      "parents": [
        "08cb9de12b16c9521d0bca64b07dc6dab1dc4387"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Thu Aug 20 09:49:43 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 20 09:51:12 2026 -0700"
      },
      "message": "Remove strict C++20 standard check from meson.build\n\nGoogle-Bug-Id:482144905,549612859\nPiperOrigin-RevId: 967882460\nChange-Id: I302d886c6558b75bf981a957dae1ca60c0ea94fb\n"
    },
    {
      "commit": "08cb9de12b16c9521d0bca64b07dc6dab1dc4387",
      "tree": "037561dc83986ffe53d0e1688fddf7a6c6f37a58",
      "parents": [
        "9a2d89b55c144b878618e0f0b2d12db8b429540b"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 19 21:53:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 21:54:02 2026 -0700"
      },
      "message": "Migrate power_test.cpp from Gerrit to Google3.\n\nPiperOrigin-RevId: 967578190\nChange-Id: I6be6ef429a52a01e557aa4b72215b6caffb29853\n"
    },
    {
      "commit": "9a2d89b55c144b878618e0f0b2d12db8b429540b",
      "tree": "3def225eee8f98b73a50aa2b39e8a38349f9284b",
      "parents": [
        "930c5196e9f8f8a9e81f43b24368c4ca61cd4320"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 19 16:39:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 16:40:25 2026 -0700"
      },
      "message": "Validate chassis path before populating FanZone Chassis link\n\nUpdate asyncPopulatePid to verify that the chassis name extracted from the PID zone configuration path exists in the inventory. Instead of unconditionally setting the Chassis link, the code now queries the inventory subtree paths and only populates the Chassis link if a matching chassis is found. Unit tests have been added to verify behavior for both valid and invalid chassis configurations.\n\nGoogle-Bug-Id:545645561\nPiperOrigin-RevId: 967474295\nChange-Id: I9af3608887d53435f2509879ed6510ed0974917c\n"
    },
    {
      "commit": "930c5196e9f8f8a9e81f43b24368c4ca61cd4320",
      "tree": "47fa9063fbdfca14f2a1fba72d17105b7f07f64f",
      "parents": [
        "47436a2ab47495d2bcdacc4589a743f52718744b"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 19 13:59:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 14:01:13 2026 -0700"
      },
      "message": "Fix heap-use-after-free in IntelCpuSensor::Reinitialize callback lifetime\n\nConcurrent Reinitialize() calls from a control thread could free an in-flight\ncallback out from under the io_context thread.\n\nThe callback was stored as a std::shared_ptr\u003cabsl::AnyInvocable\u003e and\nReinitialize() reassigned it directly on the *calling* thread (in production,\nSensorCollector::ReinitializeAndScheduleAllSensorsForConfigKey runs on a\ndifferent thread than the sensor\u0027s io_context). The retry chain reads and\ninvokes the callback via `std::move(*reinitialize_callback_)` on the io_context\nthread without holding its own reference (the signature is not \u0026\u0026-qualified, so\nthe invocation does not consume the target). A second Reinitialize() reassigning\nthe member therefore drops the last shared_ptr reference and frees the callback\n-- and its captures -- while the io_context thread is still reading/invoking it:\na heap-use-after-free, reproducible under ASAN.\n\nConfine reinitialize_callback_ and attempt_num_ to the io_context thread:\n- Store the callback as a plain absl::AnyInvocable (no shared_ptr).\n- Reinitialize() posts all state mutation to the io_context thread and\n  supersedes any active retry chain by cancelling the pending timer and\n  completing the superseded callback with CancelledError before installing\n  the new one.\n- The success path moves the callback into a local and clears the member\n  before invoking it, so the end of a chain is well defined.\n- Aborted timer waits (operation_aborted) end the chain quietly instead of\n  invoking a now-superseded callback.\n\nAdd a regression test that reproduces the race under real production threading:\na dedicated caller thread hammers Reinitialize() while the sensor\u0027s retry chain\nruns on the io_context thread. A bounded in-flight window keeps both threads\noverlapping without letting the work queue grow unboundedly. The test aborts\nwith a heap-use-after-free under ASAN on the old implementation and passes with\nthis fix.\n\nGoogle-Bug-Id:548033968\nPiperOrigin-RevId: 967395453\nChange-Id: I3a35abecf73df40b612bfa7c3d99430afa5273db\n"
    },
    {
      "commit": "47436a2ab47495d2bcdacc4589a743f52718744b",
      "tree": "42b1739ccd85f248cd7435326e65f419db70e418",
      "parents": [
        "334efc83b52dcec34a2260cbff8c93595137d237"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 19 13:43:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 13:44:56 2026 -0700"
      },
      "message": "Internal change\n\nGoogle-Bug-Id:465783823\nPiperOrigin-RevId: 967386341\nChange-Id: I5c49f7fcb7f5459e59fb72b529b814e12cbb3551\n"
    },
    {
      "commit": "334efc83b52dcec34a2260cbff8c93595137d237",
      "tree": "1450f040ab2d2fb653d388fb98c49bdb3e06484b",
      "parents": [
        "6cea9733fd7c19b5f1893062ed0f03c69c3b8a08"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 19 11:07:53 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 11:09:34 2026 -0700"
      },
      "message": "Implement GetCapabilities RPC for tlbmc HftService.\n\nAdd GetCapabilities RPC support to HftServiceImpl in tlbmc, reporting supported ServiceFeatures.\n\nCurrently, tlbmc only supports on_change edge filtering and does not support SDT. Implement GetSupportedEdgeFilteringDetail() in edge_filter.h/cc to advertise on_change_supported and allow easy extension for future edge filter details. Implement GetCapabilities unary RPC handler in HftServiceImpl with client authorization checks.\n\nGoogle-Bug-Id:533523581\nPiperOrigin-RevId: 967306002\nChange-Id: Iafe07d70e7c5f9f675ce2e272367a73e13290043\n"
    },
    {
      "commit": "6cea9733fd7c19b5f1893062ed0f03c69c3b8a08",
      "tree": "fe503e22753546df37ae1bbcb70dcd703acd1f2f",
      "parents": [
        "b31eb2975ad8715668e368f8d78b8bce51b54465"
      ],
      "author": {
        "name": "gBMC Team",
        "email": "gbmc-core@google.com",
        "time": "Wed Aug 19 09:53:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 19 09:55:03 2026 -0700"
      },
      "message": "Internal change\n\nGoogle-Bug-Id:465783823\nPiperOrigin-RevId: 967264685\nChange-Id: Ifd3ae54f2bf31cae01318aa26cd93d6f149937f5\n"
    }
  ],
  "next": "b31eb2975ad8715668e368f8d78b8bce51b54465"
}
